bsd/cygwin patch sync, ffmpeg color_space/color_range fix
authorGood Guy <good1.2guy@gmail.com>
Thu, 30 Jan 2020 04:34:26 +0000 (21:34 -0700)
committerGood Guy <good1.2guy@gmail.com>
Thu, 30 Jan 2020 04:34:26 +0000 (21:34 -0700)
cinelerra-5.1/blds/bsd.bld
cinelerra-5.1/blds/bsd.patch
cinelerra-5.1/blds/cygwin.patch
cinelerra-5.1/cinelerra/Makefile
cinelerra-5.1/cinelerra/ffmpeg.C
cinelerra-5.1/cinelerra/ffmpeg.h
cinelerra-5.1/cinelerra/pluginfclient.C
cinelerra-5.1/configure.ac
cinelerra-5.1/guicast/bctrace.C
cinelerra-5.1/msg/txt
cinelerra-5.1/po/es.po

index 0b01de0379fb5390cd13558356297c5383495182..4189b16cd4adbcdc448599f3b6faed909f0de9f5 100755 (executable)
@@ -7,7 +7,8 @@ export CPLUS_INCLUDE_PATH=/usr/local/include
 export LIBRARY_PATH=/usr/local/lib
 alias make=gmake
 ( ./autogen.sh
 export LIBRARY_PATH=/usr/local/lib
 alias make=gmake
 ( ./autogen.sh
-  CC=clang CXX=clang++ CFLAGS="-g -O2 -DFFMPEG3" ./configure --with-single-user \
+  BSD=1 CC=clang CXX=clang++ CFLAGS="-g -O2 -DFFMPEG3" \
+  ./configure --with-single-user \
     --disable-static-build --without-lv2 --disable-lame --disable-twolame \
     --with-oss --without-alsa --without-firewire --without-dv --without-dvb \
     --without-video4linux2 --without-xxf86vm --without-ladspa-build \
     --disable-static-build --without-lv2 --disable-lame --disable-twolame \
     --with-oss --without-alsa --without-firewire --without-dv --without-dvb \
     --without-video4linux2 --without-xxf86vm --without-ladspa-build \
index 8136d2cef2315fabd056ff5c129e0650d72cfd24..fa3392322054e2873f81d2b99699cab99558cdc0 100644 (file)
@@ -12,64 +12,10 @@ index 5531330..ad671f5 100644
  MAKEJ := $(MAKE) $(jobs)
  
 diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile
  MAKEJ := $(MAKE) $(jobs)
  
 diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile
-index 7e69a50..792fe6e 100644
+index f8e5fd8..d26ba05 100644
 --- a/cinelerra-5.1/cinelerra/Makefile
 +++ b/cinelerra-5.1/cinelerra/Makefile
 --- a/cinelerra-5.1/cinelerra/Makefile
 +++ b/cinelerra-5.1/cinelerra/Makefile
-@@ -424,16 +424,16 @@ endif
- LIBS := $(LIBRARIES)
--ifneq ($(WANT_CIN_3RDPARTY),no)
--LIBS += $(libraries)
--else
-+ifeq ($(WANT_CIN_3RDPARTY),no)
-+LIBS += $(shared_libs)
-+LIBS += $(system_libs)
--LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid
--LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXv -lXinerama
-+LIBS += -lintl -liconv
- LIBS += -lfontconfig -lfreetype
- LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil
- LIBS += -lswresample -lswscale
- LIBS += -lvpx -lwebp -lwebpmux
-+LIBS += -lexecinfo
- LIBS += $(if $(filter fftw,$(static_pkgs)), -lfftw3)
- LIBS += $(if $(filter flac,$(static_pkgs)), -lFLAC)
-@@ -452,8 +452,12 @@ LIBS += $(if $(filter x264,$(static_pkgs)), -lx264)
- LIBS += $(if $(filter x265,$(static_pkgs)), -lx265)
- LIBS += $(if $(filter libvpx,$(static_pkgs)), -lvpx)
-+else
-+LIBS += $(libraries)
-+#endif
-+
- ifneq ($(WANT_GL),no)
--LIBS += -lGL -lGLU -lGLX
-+LIBS += -lGL -lGLU
- endif
- ifneq ($(WANT_XFT),no)
- LIBS += -lXft
-@@ -470,9 +474,6 @@ endif
- ifneq ($(WANT_FIREWIRE),no)
- LIBS += -lavc1394 -lraw1394 -liec61883 -lrom1394
- endif
--ifneq ($(WANT_DVB),no)
--LIBS += -ldv
--endif
- ifneq ($(WANT_DL),no)
- LIBS += -ldl
- endif
-@@ -515,6 +516,7 @@ LV2OBJS = \
- endif
- CFLAGS := \
-+      -I/usr/local/include \
-       -I$(GUICAST) \
-       -I$(LIBZMPEG3) \
-       $(static_incs) \
-@@ -562,15 +564,15 @@ all:     $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI)
+@@ -510,7 +510,7 @@ all:       $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI)
  $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
        $(LINKER) `cat $(OBJDIR)/objs`
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
  $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
        $(LINKER) `cat $(OBJDIR)/objs`
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
@@ -78,50 +24,6 @@ index 7e69a50..792fe6e 100644
        ln -f -s ../bin/$(WANT_CIN) ci
  
  ifneq ($(WANT_COMMERCIAL),no)
        ln -f -s ../bin/$(WANT_CIN) ci
  
  ifneq ($(WANT_COMMERCIAL),no)
- $(CUTADS):    $(CUTOBJS) $(CUTLIBS) $(LIBRARIES)
--      @echo g++ -o $@ $(CUTOBJS)
--      @g++ $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
-+      @echo $(CXX) -o $@ $(CUTOBJS)
-+      @$(CXX) $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
-       $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo)
--      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
-+      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
- install-cutads:
-       cp -av $(OBJDIR)/cutads $(BINDIR)/.
-@@ -579,18 +581,18 @@ install: install-cutads
- endif
- $(BDWRITE):   $(BDWOBJS) $(LIBRARIES)
--      @echo g++ -o $@ $(BDWOBJS)
--      @g++ $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
-+      @echo $(CXX) -o $@ $(BDWOBJS)
-+      @$(CXX) $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
-       $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo)
--      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
-+      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
- install-bdwrite:
-       cp -av $(OBJDIR)/bdwrite $(BINDIR)/.
- install:      install-bdwrite
- ydiff:        ydiff.C $(LIBRARIES)
--      @echo g++ -o $@ ydiff.C
--      @g++ $(CFLAGS) ydiff.C -o $@ $(LIBS)
-+      @echo $(CXX) -o $@ ydiff.C
-+      @$(CXX) $(CFLAGS) ydiff.C -o $@ $(LIBS)
- shdmp:        shdmp.C
-       @g++ $(CFLAGS) shdmp.C -o $@
-@@ -625,7 +627,7 @@ $(OBJDIR)/lv2ui: $(LV2OBJS)
-       @echo $(CXX) \`cat $(OBJDIR)/c_flags\` $^ -o $@
-       @$(CXX) `cat $(OBJDIR)/c_flags` $^ -o $@ $(LIBS) $(GTK2_LIBS)
-       $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(LV2UI) $(LV2UI).debuginfo)
--      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(LV2UI))
-+      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(LV2UI))
- .PHONY:       lv2ui
- lv2ui:        $(LV2UI)
 diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C
 index e18ebee..eade28a 100644
 --- a/cinelerra-5.1/cinelerra/bdcreate.C
 diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C
 index e18ebee..eade28a 100644
 --- a/cinelerra-5.1/cinelerra/bdcreate.C
@@ -221,72 +123,22 @@ index 1fec188..c9180a0 100644
                result[len] = 0;
                char *ptr = strrchr(result, '/');
 diff --git a/cinelerra-5.1/cinelerra/indexfile.C b/cinelerra-5.1/cinelerra/indexfile.C
                result[len] = 0;
                char *ptr = strrchr(result, '/');
 diff --git a/cinelerra-5.1/cinelerra/indexfile.C b/cinelerra-5.1/cinelerra/indexfile.C
-index 3c6fd97..61abc67 100644
+index 87b8853..ad75d24 100644
 --- a/cinelerra-5.1/cinelerra/indexfile.C
 +++ b/cinelerra-5.1/cinelerra/indexfile.C
 --- a/cinelerra-5.1/cinelerra/indexfile.C
 +++ b/cinelerra-5.1/cinelerra/indexfile.C
-@@ -70,7 +70,7 @@
+@@ -70,9 +70,7 @@
  
  #include <sys/types.h>
  #include <sys/stat.h>
  
  #include <sys/types.h>
  #include <sys/stat.h>
+-#ifdef HAVE_ISOFS
 -#include <linux/iso_fs.h>
 -#include <linux/iso_fs.h>
+-#endif
 +#include <isofs/cd9660/iso.h>
  
  // check for isofs volume_id for dvd/cdrom
  
 +#include <isofs/cd9660/iso.h>
  
  // check for isofs volume_id for dvd/cdrom
  
-diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C
-index bd75cbb..b2bcc2f 100644
---- a/cinelerra-5.1/cinelerra/mwindow.C
-+++ b/cinelerra-5.1/cinelerra/mwindow.C
-@@ -268,7 +268,9 @@ MWindow::~MWindow()
-       delete beeper;
-       delete create_bd;       create_bd = 0;
-       delete create_dvd;      create_dvd = 0;
-+#ifdef HAVE_SHUTTLE
-       delete shuttle;         shuttle = 0;
-+#endif
- #ifdef HAVE_WINTV
-       delete wintv;           wintv = 0;
- #endif
-diff --git a/cinelerra-5.1/cinelerra/shuttle.h b/cinelerra-5.1/cinelerra/shuttle.h
-index 6793a03..06406d5 100644
---- a/cinelerra-5.1/cinelerra/shuttle.h
-+++ b/cinelerra-5.1/cinelerra/shuttle.h
-@@ -1,5 +1,6 @@
- #ifndef __SHUTTLE_H__
- #define __SHUTTLE_H__
-+#ifdef HAVE_SHUTTLE
- #include "arraylist.h"
- #include "bcwindowbase.inc"
-@@ -20,8 +21,7 @@
- // delay in ms before processing each XTest event
- // CurrentTime means no delay
- #define DELAY CurrentTime
--// playback max speed -64x .. 64x
--#define SHUTTLE_MAX_SPEED 64.
-+
- #define SHUTTLE_INTERFACE 0
- // protocol for events from the shuttlepro HUD device
-@@ -257,3 +257,4 @@ public:
- };
- #endif
-+#endif
-diff --git a/cinelerra-5.1/cinelerra/shuttle.inc b/cinelerra-5.1/cinelerra/shuttle.inc
-index 5919e9d..db6b37f 100644
---- a/cinelerra-5.1/cinelerra/shuttle.inc
-+++ b/cinelerra-5.1/cinelerra/shuttle.inc
-@@ -9,4 +9,7 @@ class Translation;
- class Translations;
- class Shuttle;
-+// playback max speed -64x .. 64x
-+#define SHUTTLE_MAX_SPEED 64.
-+
- #endif
 diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac
 diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac
-index 9268807..a22c944 100644
+index bfb39ed..a9856e5 100644
 --- a/cinelerra-5.1/configure.ac
 +++ b/cinelerra-5.1/configure.ac
 @@ -18,8 +18,18 @@ CFG_CFLAGS+=" -Wno-unused-result"
 --- a/cinelerra-5.1/configure.ac
 +++ b/cinelerra-5.1/configure.ac
 @@ -18,8 +18,18 @@ CFG_CFLAGS+=" -Wno-unused-result"
@@ -308,7 +160,7 @@ index 9268807..a22c944 100644
  CFG_CFLAGS+=" -D__STDC_CONSTANT_MACROS"
  CFG_CFLAGS+=" -D__STDC_LIMIT_MACROS"
  CFG_CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1"
  CFG_CFLAGS+=" -D__STDC_CONSTANT_MACROS"
  CFG_CFLAGS+=" -D__STDC_LIMIT_MACROS"
  CFG_CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1"
-@@ -141,7 +151,7 @@ AC_SUBST(MAK_INSTALLS)
+@@ -140,7 +150,7 @@ AC_SUBST(MAK_INSTALLS)
  AC_SUBST(MAK_UNINSTALLS)
  
  if test "x$WANT_JOBS" = "xauto"; then
  AC_SUBST(MAK_UNINSTALLS)
  
  if test "x$WANT_JOBS" = "xauto"; then
@@ -317,6 +169,30 @@ index 9268807..a22c944 100644
    WANT_JOBS=`expr $CPUS + $CPUS / 2 + 2`
  fi
  
    WANT_JOBS=`expr $CPUS + $CPUS / 2 + 2`
  fi
  
+@@ -1091,6 +1101,11 @@ if test "x$CFG_LDFLAGS" != "x" ; then
+   echo ""
+ fi
++if test "x$BSD" != "x" ; then
++  echo "CFLAGS += -DNO_PRCTL"
++  echo "CFLAGS += -DNO_TID"
++  echo "CFLAGS += -DNO_GDB"
++fi
+ if test "x$CYGWIN" != "x" ; then
+   echo 'FF_DIR ?= /usr/local'
+   echo 'CFLAGS += -I$(FF_DIR)/include'
+@@ -1106,11 +1121,6 @@ if test "x$CYGWIN" != "x" ; then
+ else
+   LDFLAGS+=" -z noexecstack"
+ fi
+-if test "x$BSD" != "x" ; then
+-  echo "CFLAGS += -DNO_PRCTL"
+-  echo "CFLAGS += -DNO_TID"
+-  echo "CFLAGS += -DNO_GDB"
+-fi
+ if test "x$WANT_X264_HIDEPTH" = "xyes" ; then
+   X264_CFG_PARAMS="$X264_CFG_PARAMS --bit-depth=10"
 diff --git a/cinelerra-5.1/db/tdb.h b/cinelerra-5.1/db/tdb.h
 index 8ee8800..9a17091 100644
 --- a/cinelerra-5.1/db/tdb.h
 diff --git a/cinelerra-5.1/db/tdb.h b/cinelerra-5.1/db/tdb.h
 index 8ee8800..9a17091 100644
 --- a/cinelerra-5.1/db/tdb.h
@@ -426,42 +302,10 @@ index 1d52855..c8d93bd 100644
        if( x_scale <= 0 ) x_scale = 1;
        if( y_scale <= 0 ) y_scale = x_scale;
 diff --git a/cinelerra-5.1/guicast/bcsignals.C b/cinelerra-5.1/guicast/bcsignals.C
        if( x_scale <= 0 ) x_scale = 1;
        if( y_scale <= 0 ) y_scale = x_scale;
 diff --git a/cinelerra-5.1/guicast/bcsignals.C b/cinelerra-5.1/guicast/bcsignals.C
-index c68e39a..457254a 100644
+index ffc8a1c..b83b328 100644
 --- a/cinelerra-5.1/guicast/bcsignals.C
 +++ b/cinelerra-5.1/guicast/bcsignals.C
 --- a/cinelerra-5.1/guicast/bcsignals.C
 +++ b/cinelerra-5.1/guicast/bcsignals.C
-@@ -37,9 +37,11 @@
- #include <sys/stat.h>
- #include <unistd.h>
- #include <sys/ioctl.h>
--#include <sys/prctl.h>
- #include <sys/types.h>
-+#define dirent64 dirent
-+#define readdir64 readdir
-+
- BC_Signals* BC_Signals::global_signals = 0;
- static int signal_done = 0;
-@@ -279,18 +281,6 @@ static void handle_exit(int signum)
- void BC_Signals::set_sighup_exit(int enable)
- {
--      if( enable ) {
--// causes SIGHUP to be generated when parent dies
--              signal(SIGHUP, handle_exit);
--              prctl(PR_SET_PDEATHSIG, SIGHUP, 0,0,0);
--// prevents ^C from signalling child when attached to gdb
--              setpgid(0, 0);
--              if( isatty(0) ) ioctl(0, TIOCNOTTY, 0);
--      }
--      else {
--              signal(SIGHUP, signal_entry);
--              prctl(PR_SET_PDEATHSIG, 0,0,0,0);
--      }
- }
- BC_Signals::BC_Signals()
-@@ -383,70 +373,72 @@ const char* BC_Signals::sig_to_str(int number)
+@@ -395,70 +395,72 @@ const char* BC_Signals::sig_to_str(int number)
  #include <sys/wait.h>
  #include "thread.h"
  
  #include <sys/wait.h>
  #include "thread.h"
  
@@ -584,42 +428,15 @@ index c68e39a..457254a 100644
        fprintf(fp,"\n");
  }
  
        fprintf(fp,"\n");
  }
  
-@@ -476,7 +468,7 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
- //    if( uid != 0 ) return;
+@@ -492,7 +494,7 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
+       void *ip = 0;
+ #ifndef NO_CTX
        ucontext_t *uc = (ucontext_t *)sc;
        ucontext_t *uc = (ucontext_t *)sc;
-       int pid = getpid(), tid = gettid();
 -      struct sigregs_t *c = (struct sigregs_t *)&uc->uc_mcontext;
 +      sigregs_t *c = (sigregs_t *)&uc->uc_mcontext;
 -      struct sigregs_t *c = (struct sigregs_t *)&uc->uc_mcontext;
 +      sigregs_t *c = (sigregs_t *)&uc->uc_mcontext;
-       uint8_t *ip = (uint8_t *)c->IP;
+       ip = (void *)c->IP;
+ #endif
        fprintf(stderr,"** %s at %p in pid %d, tid %d\n",
        fprintf(stderr,"** %s at %p in pid %d, tid %d\n",
-               n==SIGSEGV? "segv" : n==SIGINT? "intr" : "trap",
-@@ -545,26 +537,5 @@ static void handle_dump(int n, siginfo_t * info, void *sc)
-       reg_dump(fp, c);
-       fprintf(fp,"\n\n");
-       if( fp != stdout ) fclose(fp);
--      char cmd[1024], *cp = cmd;
--      cp += sprintf(cp, "exec gdb /proc/%d/exe -p %d --batch --quiet "
--              "-ex \"thread apply all info registers\" "
--              "-ex \"thread apply all bt full\" "
--              "-ex \"quit\"", pid, pid);
--      if( fp != stdout )
--              cp += sprintf(cp," >> \"%s\"", fn);
--      cp += sprintf(cp," 2>&1");
--//printf("handle_dump:: pid=%d, cmd='%s'  fn='%s'\n",pid,cmd,fn);
--        pid = vfork();
--        if( pid < 0 ) {
--              fprintf(stderr,"** can't start gdb, dump abondoned\n");
--              return;
--      }
--      if( pid > 0 ) {
--              waitpid(pid,0,0);
--              fprintf(stderr,"** dump complete\n");
--              return;
--      }
--        char *const argv[4] = { (char*) "/bin/sh", (char*) "-c", cmd, 0 };
--        execvp(argv[0], &argv[0]);
- }
 diff --git a/cinelerra-5.1/guicast/bctrace.C b/cinelerra-5.1/guicast/bctrace.C
 index 7e45392..2d08b46 100644
 --- a/cinelerra-5.1/guicast/bctrace.C
 diff --git a/cinelerra-5.1/guicast/bctrace.C b/cinelerra-5.1/guicast/bctrace.C
 index 7e45392..2d08b46 100644
 --- a/cinelerra-5.1/guicast/bctrace.C
@@ -642,21 +459,22 @@ index 7e45392..2d08b46 100644
                        fprintf(fp," %p", (void*)p->info->owner);
                fprintf(fp,"\n");
        }
                        fprintf(fp," %p", (void*)p->info->owner);
                fprintf(fp,"\n");
        }
-diff --git a/cinelerra-5.1/guicast/filesystem.C b/cinelerra-5.1/guicast/filesystem.C
-index ebc2007..9d6452c 100644
---- a/cinelerra-5.1/guicast/filesystem.C
-+++ b/cinelerra-5.1/guicast/filesystem.C
-@@ -33,6 +33,8 @@
- #include <unistd.h>
- #include <utime.h>
+diff --git a/cinelerra-5.1/guicast/filesystem.h b/cinelerra-5.1/guicast/filesystem.h
+index c976135..5613702 100644
+--- a/cinelerra-5.1/guicast/filesystem.h
++++ b/cinelerra-5.1/guicast/filesystem.h
+@@ -26,6 +26,9 @@
+ #include "bcwindowbase.inc"
+ #include "sizes.h"
  
 +#define dirent64 dirent
 +#define readdir64 readdir
  
 +#define dirent64 dirent
 +#define readdir64 readdir
- #include "filesystem.h"
++
+ class FileItem
+ {
+ public:
 diff --git a/cinelerra-5.1/guicast/thread.C b/cinelerra-5.1/guicast/thread.C
 diff --git a/cinelerra-5.1/guicast/thread.C b/cinelerra-5.1/guicast/thread.C
-index dff53e6..321ab4f 100644
+index 50b52a4..321ab4f 100644
 --- a/cinelerra-5.1/guicast/thread.C
 +++ b/cinelerra-5.1/guicast/thread.C
 @@ -55,13 +55,6 @@ void* Thread::entrypoint(void *parameters)
 --- a/cinelerra-5.1/guicast/thread.C
 +++ b/cinelerra-5.1/guicast/thread.C
 @@ -55,13 +55,6 @@ void* Thread::entrypoint(void *parameters)
@@ -673,22 +491,6 @@ index dff53e6..321ab4f 100644
        thread->run();
        thread->finished = true;
        if( !thread->synchronous ) {
        thread->run();
        thread->finished = true;
        if( !thread->synchronous ) {
-diff --git a/cinelerra-5.1/guicast/thread.h b/cinelerra-5.1/guicast/thread.h
-index 7ad81b2..8ebec23 100644
---- a/cinelerra-5.1/guicast/thread.h
-+++ b/cinelerra-5.1/guicast/thread.h
-@@ -27,10 +27,7 @@
- #include <unistd.h>
- #include <sys/syscall.h>
--// glibc >= 2.30 provides gettid() in unistd
--#if !defined(__GLIBC_PREREQ) || !__GLIBC_PREREQ(2, 30)
--static inline int gettid() { return syscall(SYS_gettid, 0, 0, 0); }
--#endif
-+static inline long gettid() { return (long)pthread_self(); }
- // The thread does not autodelete by default.
- // If autodelete is 1 the thread autodeletes.
 diff --git a/cinelerra-5.1/plugins/Makefile b/cinelerra-5.1/plugins/Makefile
 index 22bc7dd..3459bd0 100644
 --- a/cinelerra-5.1/plugins/Makefile
 diff --git a/cinelerra-5.1/plugins/Makefile b/cinelerra-5.1/plugins/Makefile
 index 22bc7dd..3459bd0 100644
 --- a/cinelerra-5.1/plugins/Makefile
@@ -711,7 +513,7 @@ index 22bc7dd..3459bd0 100644
  PLUGIN_DIR = $(BINDIR)/plugins
  DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes
 diff --git a/cinelerra-5.1/plugins/titler/titler.C b/cinelerra-5.1/plugins/titler/titler.C
  PLUGIN_DIR = $(BINDIR)/plugins
  DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes
 diff --git a/cinelerra-5.1/plugins/titler/titler.C b/cinelerra-5.1/plugins/titler/titler.C
-index 88d6501..fe4a652 100644
+index 0fc6669..68197ab 100644
 --- a/cinelerra-5.1/plugins/titler/titler.C
 +++ b/cinelerra-5.1/plugins/titler/titler.C
 @@ -57,8 +57,7 @@
 --- a/cinelerra-5.1/plugins/titler/titler.C
 +++ b/cinelerra-5.1/plugins/titler/titler.C
 @@ -57,8 +57,7 @@
index a984a7fea96ed1dbefa0a018c8ebde035122b554..561cddafa9bafa654493058ab05fdf0c2c5c2681 100644 (file)
@@ -1,50 +1,26 @@
 diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile
 diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile
-index 645b273..e482dcd 100644
+index a22a21a..fc6dfba 100644
 --- a/cinelerra-5.1/cinelerra/Makefile
 +++ b/cinelerra-5.1/cinelerra/Makefile
 --- a/cinelerra-5.1/cinelerra/Makefile
 +++ b/cinelerra-5.1/cinelerra/Makefile
-@@ -428,13 +428,28 @@ LIBS := $(LIBRARIES)
- ifneq ($(WANT_CIN_3RDPARTY),no)
- LIBS += $(libraries)
- else
-+LIBS += -Wl,--export-all-symbols -g
-+LIBS += -Wl,--out-implib,$(OBJDIR)/lib$(WANT_CIN).exe.a
-+LIBS += -L$(FF_DIR)/lib
-+LIBS += -Wl,-rpath-link=:$(FF_DIR)/lib
-+LIBS += -Wl,--as-needed -Wl,--warn-common
-+LIBS += -lavdevice
-+LIBS += -lavfilter
-+LIBS += -lavformat
-+LIBS += -lavcodec
-+LIBS += -lswresample
-+LIBS += -lswscale
-+LIBS += -lavutil
-+
-+LIBS += -lvpx -lwebp -lwebpmux
-+LIBS += -ljpeg -lFLAC -lgif -lsndfile -ltiff
-+
-+LIBS += -lsecur32 -lole32 -luser32 -luser32 -lbcrypt -lshell32
+@@ -426,10 +426,13 @@ endif
+ LIBS := $(LIBRARIES)
  
  
- LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid
--LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXv -lXinerama
-+LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXinerama
-+LIBS += -lintl -liconv
- LIBS += -lfontconfig -lfreetype
--LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil
+ ifeq ($(WANT_CIN_3RDPARTY),no)
+-LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavutil
 -LIBS += -lswresample -lswscale
 -LIBS += -lswresample -lswscale
--LIBS += -lvpx -lwebp -lwebpmux
- LIBS += $(if $(filter fftw,$(static_pkgs)), -lfftw3)
- LIBS += $(if $(filter flac,$(static_pkgs)), -lFLAC)
-@@ -454,7 +470,7 @@ LIBS += $(if $(filter x265,$(static_pkgs)), -lx265)
- LIBS += $(if $(filter libvpx,$(static_pkgs)), -lvpx)
+-LIBS += -lintl -liconv
+-LIBS += -lexecinfo
++LIBS += -L$(FF_PATH)/lib
++LIBS += -Wl,--out-implib,x86_64/libcin.exe.a
++LIBS += -Wl,-rpath-link=:$(FF_PATH)/lib -Wl,--as-needed -Wl,--warn-common
++LIBS += -lavdevice -lavfilter -lavformat -lavcodec
++LIBS += -lswresample -lswscale -lavutil
++LIBS += -L/usr/lib -lintl -liconv
++LIBS += -lsecur32 -lole32 -luser32 -luser32 -lbcrypt -lshell32
  
  
- ifneq ($(WANT_GL),no)
--LIBS += -lGL -lGLU -lGLX
-+LIBS += -lGL -lGLU
- endif
- ifneq ($(WANT_XFT),no)
- LIBS += -lXft
-@@ -548,7 +564,7 @@ CFLAGS += -DUSE_ALPHA
+ LIBS += $(shared_libs)
+ LIBS += $(system_libs)
+@@ -492,7 +495,7 @@ CFLAGS += -DUSE_ALPHA
  
  else
  
  
  else
  
@@ -53,7 +29,7 @@ index 645b273..e482dcd 100644
  LDFLAGS2 = $(LDFLAGS)
  LINKER = $(CXX) -o $(OUTPUT)
  
  LDFLAGS2 = $(LDFLAGS)
  LINKER = $(CXX) -o $(OUTPUT)
  
-@@ -566,7 +582,7 @@ all:       $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI)
+@@ -510,7 +513,7 @@ all:       $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI)
  $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
        $(LINKER) `cat $(OBJDIR)/objs`
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
  $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
        $(LINKER) `cat $(OBJDIR)/objs`
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
@@ -62,25 +38,25 @@ index 645b273..e482dcd 100644
        ln -f -s ../bin/$(WANT_CIN) ci
  
  ifneq ($(WANT_COMMERCIAL),no)
        ln -f -s ../bin/$(WANT_CIN) ci
  
  ifneq ($(WANT_COMMERCIAL),no)
-@@ -574,7 +590,7 @@ $(CUTADS): $(CUTOBJS) $(CUTLIBS) $(LIBRARIES)
-       @echo g++ -o $@ $(CUTOBJS)
-       @g++ $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
+@@ -518,7 +521,7 @@ $(CUTADS): $(CUTOBJS) $(CUTLIBS) $(LIBRARIES)
+       @echo $(CXX) -o $@ $(CUTOBJS)
+       @$(CXX) $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo)
 -      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
 +      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
  
  install-cutads:
        cp -av $(OBJDIR)/cutads $(BINDIR)/.
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo)
 -      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
 +      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
  
  install-cutads:
        cp -av $(OBJDIR)/cutads $(BINDIR)/.
-@@ -586,7 +602,7 @@ $(BDWRITE):        $(BDWOBJS) $(LIBRARIES)
-       @echo g++ -o $@ $(BDWOBJS)
-       @g++ $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
+@@ -530,7 +533,7 @@ $(BDWRITE):        $(BDWOBJS) $(LIBRARIES)
+       @echo $(CXX) -o $@ $(BDWOBJS)
+       @$(CXX) $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo)
 -      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
 +      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
  
  install-bdwrite:
        cp -av $(OBJDIR)/bdwrite $(BINDIR)/.
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo)
 -      $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
 +      #$(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
  
  install-bdwrite:
        cp -av $(OBJDIR)/bdwrite $(BINDIR)/.
-@@ -629,7 +645,7 @@ $(OBJDIR)/lv2ui: $(LV2OBJS)
+@@ -573,7 +576,7 @@ $(OBJDIR)/lv2ui: $(LV2OBJS)
        @echo $(CXX) \`cat $(OBJDIR)/c_flags\` $^ -o $@
        @$(CXX) `cat $(OBJDIR)/c_flags` $^ -o $@ $(LIBS) $(GTK2_LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(LV2UI) $(LV2UI).debuginfo)
        @echo $(CXX) \`cat $(OBJDIR)/c_flags\` $^ -o $@
        @$(CXX) `cat $(OBJDIR)/c_flags` $^ -o $@ $(LIBS) $(GTK2_LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(LV2UI) $(LV2UI).debuginfo)
@@ -117,6 +93,40 @@ index 1d52855..fdab491 100644
  
        if( x_scale <= 0 ) x_scale = 1;
        if( y_scale <= 0 ) y_scale = x_scale;
  
        if( x_scale <= 0 ) x_scale = 1;
        if( y_scale <= 0 ) y_scale = x_scale;
+diff --git a/cinelerra-5.1/guicast/bcsignals.C b/cinelerra-5.1/guicast/bcsignals.C
+index ffc8a1c..ad11365 100644
+--- a/cinelerra-5.1/guicast/bcsignals.C
++++ b/cinelerra-5.1/guicast/bcsignals.C
+@@ -44,6 +44,7 @@
+ #include <sys/prctl.h>
+ #endif
+ #include <sys/types.h>
++#include <sys/wait.h>
+ BC_Signals* BC_Signals::global_signals = 0;
+ static int signal_done = 0;
+diff --git a/cinelerra-5.1/guicast/bctrace.C b/cinelerra-5.1/guicast/bctrace.C
+index 7e45392..2d08b46 100644
+--- a/cinelerra-5.1/guicast/bctrace.C
++++ b/cinelerra-5.1/guicast/bctrace.C
+@@ -309,7 +309,7 @@ void BC_Trace::dump_traces(FILE *fp)
+       }
+ }
+-void trace_info::set_owner() { owner = pthread_self(); }
++void trace_info::set_owner() { owner = (unsigned long)pthread_self(); }
+ void trace_info::unset_owner() { owner = 0; }
+ void BC_Trace::dump_locks(FILE *fp)
+@@ -322,7 +322,7 @@ void BC_Trace::dump_locks(FILE *fp)
+               fprintf(fp,"    %p %s, %s %p%s",
+                       p->info, p->title, p->loc,
+                       (void*)p->tid, p->is_owner ? " *" : "");
+-              if( p->info->owner && p->info->owner != p->tid )
++              if( p->info->owner && p->info->owner != (unsigned long)p->tid )
+                       fprintf(fp," %p", (void*)p->info->owner);
+               fprintf(fp,"\n");
+       }
 diff --git a/cinelerra-5.1/guicast/filesystem.h b/cinelerra-5.1/guicast/filesystem.h
 index c976135..5613702 100644
 --- a/cinelerra-5.1/guicast/filesystem.h
 diff --git a/cinelerra-5.1/guicast/filesystem.h b/cinelerra-5.1/guicast/filesystem.h
 index c976135..5613702 100644
 --- a/cinelerra-5.1/guicast/filesystem.h
@@ -132,7 +142,7 @@ index c976135..5613702 100644
  {
  public:
 diff --git a/cinelerra-5.1/plugin_config b/cinelerra-5.1/plugin_config
  {
  public:
 diff --git a/cinelerra-5.1/plugin_config b/cinelerra-5.1/plugin_config
-index 56f4351..f7149bb 100644
+index 56f4351..ecd5837 100644
 --- a/cinelerra-5.1/plugin_config
 +++ b/cinelerra-5.1/plugin_config
 @@ -4,12 +4,21 @@ CFLAGS += -I../ -I$(CINELERRA) -I$(GUICAST) -I../colors -fPIC
 --- a/cinelerra-5.1/plugin_config
 +++ b/cinelerra-5.1/plugin_config
 @@ -4,12 +4,21 @@ CFLAGS += -I../ -I$(CINELERRA) -I$(GUICAST) -I../colors -fPIC
@@ -199,14 +209,3 @@ index 22bc7dd..6404536 100644
  
  PLUGIN_DIR = $(BINDIR)/plugins
  DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes
  
  PLUGIN_DIR = $(BINDIR)/plugins
  DATA = $(PLUGIN_DIR)/fonts $(PLUGIN_DIR)/shapes
-diff --git a/cinelerra-5.1/guicast/bcsignals.C b/cinelerra-5.1/guicast/bcsignals.C
---- guicast/bcsignals.C        2020-01-27 07:27:45.332623800 -0700
-+++ guicast/bcsignals.C        2020-01-27 07:28:11.443049600 -0700
-@@ -44,6 +44,7 @@
- #include <sys/prctl.h>
- #endif
- #include <sys/types.h>
-+#include <sys/wait.h>
- BC_Signals* BC_Signals::global_signals = 0;
- static int signal_done = 0;
index 645b273c4914d735b59a468c9808140a0d01eff1..a22a21aeccdbe3bdb36d2e8c7c77fa635a7b9b3c 100644 (file)
@@ -425,73 +425,16 @@ endif
 
 LIBS := $(LIBRARIES)
 
 
 LIBS := $(LIBRARIES)
 
-ifneq ($(WANT_CIN_3RDPARTY),no)
-LIBS += $(libraries)
-else
-
-LIBS += -lpthread -lm -lbz2 -llzma -lz -lpng -luuid
-LIBS += -lX11 -lXau -lXdmcp -lXext -lXfixes -lXv -lXinerama
-LIBS += -lfontconfig -lfreetype
-LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavresample -lavutil
+ifeq ($(WANT_CIN_3RDPARTY),no)
+LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavutil
 LIBS += -lswresample -lswscale
 LIBS += -lswresample -lswscale
-LIBS += -lvpx -lwebp -lwebpmux
-
-LIBS += $(if $(filter fftw,$(static_pkgs)), -lfftw3)
-LIBS += $(if $(filter flac,$(static_pkgs)), -lFLAC)
-LIBS += $(if $(filter giflib,$(static_pkgs)), -lgif)
-LIBS += $(if $(filter lame,$(static_pkgs)), -lmp3lame)
-LIBS += $(if $(filter libjpeg,$(static_pkgs)), -ljpeg)
-LIBS += $(if $(filter openjpeg,$(static_pkgs)), -lopenjp2)
-LIBS += $(if $(filter libogg,$(static_pkgs)), -logg)
-LIBS += $(if $(filter libsndfile,$(static_pkgs)), -lsndfile)
-LIBS += $(if $(filter libtheora,$(static_pkgs)), -ltheoradec -ltheoraenc)
-LIBS += $(if $(filter libuuid,$(static_pkgs)), -luuid)
-LIBS += $(if $(filter libvorbis,$(static_pkgs)), -lvorbis -lvorbisenc -lvorbisfile)
-LIBS += $(if $(filter tiff,$(static_pkgs)), -ltiff)
-LIBS += $(if $(filter twolame,$(static_pkgs)), -ltwolame)
-LIBS += $(if $(filter x264,$(static_pkgs)), -lx264)
-LIBS += $(if $(filter x265,$(static_pkgs)), -lx265)
-LIBS += $(if $(filter libvpx,$(static_pkgs)), -lvpx)
-
-ifneq ($(WANT_GL),no)
-LIBS += -lGL -lGLU -lGLX
-endif
-ifneq ($(WANT_XFT),no)
-LIBS += -lXft
-endif
-ifneq ($(WANT_ALSA),no)
-LIBS += -lasound
-endif
-ifneq ($(WANT_PULSE),no)
-LIBS += -lpulse-simple -lpulse
-endif
-ifneq ($(WANT_OPENEXR),no)
-LIBS += -lIex -lIexMath -lIlmImf -lIlmImfUtil
-endif
-ifneq ($(WANT_DV),no)
-LIBS += -ldv
-endif
-ifneq ($(WANT_FIREWIRE),no)
-LIBS += -lavc1394 -lraw1394 -liec61883 -lrom1394
-endif
-ifneq ($(WANT_DVB),no)
-LIBS += -ldv
-endif
-ifneq ($(WANT_DL),no)
-LIBS += -ldl
-endif
-ifneq ($(WANT_LIBZMPEG),no)
-LIBS += -lmjpegutils
-endif
-ifneq ($(WANT_OPUS),no)
-LIBS += -lopus
-endif
-ifneq ($(WANT_NUMA),no)
-LIBS += -lnuma
-endif
-ifneq ($(WANT_LV2),no)
-LIBS += -llilv-0 -lsratom-0 -lserd-0 -lsord-0 -lsuil-0
-endif
+LIBS += -lintl -liconv
+LIBS += -lexecinfo
+
+LIBS += $(shared_libs)
+LIBS += $(system_libs)
+else
+LIBS += $(libraries)
 endif
 
 ifneq ($(WANT_COMMERCIAL),no)
 endif
 
 ifneq ($(WANT_COMMERCIAL),no)
@@ -519,6 +462,7 @@ LV2OBJS = \
 endif
 
 CFLAGS := \
 endif
 
 CFLAGS := \
+       -I/usr/local/include \
        -I$(GUICAST) \
        -I$(LIBZMPEG3) \
        $(static_incs) \
        -I$(GUICAST) \
        -I$(LIBZMPEG3) \
        $(static_incs) \
@@ -571,8 +515,8 @@ $(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
 
 ifneq ($(WANT_COMMERCIAL),no)
 $(CUTADS):     $(CUTOBJS) $(CUTLIBS) $(LIBRARIES)
 
 ifneq ($(WANT_COMMERCIAL),no)
 $(CUTADS):     $(CUTOBJS) $(CUTLIBS) $(LIBRARIES)
-       @echo g++ -o $@ $(CUTOBJS)
-       @g++ $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
+       @echo $(CXX) -o $@ $(CUTOBJS)
+       @$(CXX) $(CFLAGS) -pthread -o $@ $(CUTOBJS) $(CUTLIBS) $(LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo)
        $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
 
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(CUTADS) $(CUTADS).debuginfo)
        $(if $(findstring -ggdb,$(CFLAGS)),,strip $(CUTADS))
 
@@ -583,8 +527,8 @@ install:    install-cutads
 endif
 
 $(BDWRITE):    $(BDWOBJS) $(LIBRARIES)
 endif
 
 $(BDWRITE):    $(BDWOBJS) $(LIBRARIES)
-       @echo g++ -o $@ $(BDWOBJS)
-       @g++ $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
+       @echo $(CXX) -o $@ $(BDWOBJS)
+       @$(CXX) $(CFLAGS) -pthread -o $@ $(BDWOBJS) $(LIBS)
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo)
        $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
 
        $(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(BDWRITE) $(BDWRITE).debuginfo)
        $(if $(findstring -ggdb,$(CFLAGS)),,strip $(BDWRITE))
 
@@ -593,13 +537,13 @@ install-bdwrite:
 install:       install-bdwrite
 
 ydiff: ydiff.C $(LIBRARIES)
 install:       install-bdwrite
 
 ydiff: ydiff.C $(LIBRARIES)
-       @echo g++ -o $@ ydiff.C
-       @g++ $(CFLAGS) ydiff.C -o $@ $(LIBS)
+       @echo $(CXX) -o $@ ydiff.C
+       @$(CXX) $(CFLAGS) ydiff.C -o $@ $(LIBS)
 
 shdmp: shdmp.C
 
 shdmp: shdmp.C
-       @g++ $(CFLAGS) shdmp.C -o $@
+       @$(CXX) $(CFLAGS) shdmp.C -o $@
 shudmp:        shudmp.C
 shudmp:        shudmp.C
-       @g++ $(CFLAGS) shudmp.C -o $@ -lusb-1.0
+       @$(CXX) $(CFLAGS) shudmp.C -o $@ -lusb-1.0
 
 clean:
        rm -rf $(OBJDIR)
 
 clean:
        rm -rf $(OBJDIR)
index 261ef8693e651d82c09f1bf34759b69aec888198..237031ff000c86748ce103e0ead2aa12c08419f1 100644 (file)
@@ -1033,7 +1033,8 @@ IndexMarks *FFAudioStream::get_markers()
 }
 
 FFVideoStream::FFVideoStream(FFMPEG *ffmpeg, AVStream *strm, int idx, int fidx)
 }
 
 FFVideoStream::FFVideoStream(FFMPEG *ffmpeg, AVStream *strm, int idx, int fidx)
- : FFStream(ffmpeg, strm, fidx)
+ : FFStream(ffmpeg, strm, fidx),
+   FFVideoConvert(ffmpeg->ff_prefs())
 {
        this->idx = idx;
        width = height = 0;
 {
        this->idx = idx;
        width = height = 0;
@@ -1367,7 +1368,7 @@ int FFVideoConvert::convert_picture_vframe(VFrame *frame, AVFrame *ip)
 }
 
 int FFVideoConvert::convert_picture_vframe(VFrame *frame, AVFrame *ip, AVFrame *ipic)
 }
 
 int FFVideoConvert::convert_picture_vframe(VFrame *frame, AVFrame *ip, AVFrame *ipic)
-{
+{ // picture = vframe
        int cmodel = frame->get_color_model();
        AVPixelFormat ofmt = color_model_to_pix_fmt(cmodel);
        if( ofmt == AV_PIX_FMT_NB ) return -1;
        int cmodel = frame->get_color_model();
        AVPixelFormat ofmt = color_model_to_pix_fmt(cmodel);
        if( ofmt == AV_PIX_FMT_NB ) return -1;
@@ -1421,6 +1422,19 @@ int FFVideoConvert::convert_picture_vframe(VFrame *frame, AVFrame *ip, AVFrame *
                                " sws_getCachedContext() failed\n");
                return -1;
        }
                                " sws_getCachedContext() failed\n");
                return -1;
        }
+
+       int jpeg_range = preferences->yuv_color_range == BC_COLORS_JPEG ? 1 : 0;
+       int *inv_table, *table, src_range, dst_range;
+       int brightness, contrast, saturation;
+       if( !sws_getColorspaceDetails(convert_ctx,
+                       &inv_table, &src_range, &table, &dst_range,
+                       &brightness, &contrast, &saturation) ) {
+               if( src_range != jpeg_range || dst_range != jpeg_range )
+                       sws_setColorspaceDetails(convert_ctx,
+                                       inv_table, jpeg_range, table, jpeg_range,
+                                       brightness, contrast, saturation);
+       }
+
        int ret = sws_scale(convert_ctx, ip->data, ip->linesize, 0, ip->height,
            ipic->data, ipic->linesize);
        if( ret < 0 ) {
        int ret = sws_scale(convert_ctx, ip->data, ip->linesize, 0, ip->height,
            ipic->data, ipic->linesize);
        if( ret < 0 ) {
@@ -1485,7 +1499,7 @@ int FFVideoConvert::convert_vframe_picture(VFrame *frame, AVFrame *op)
 }
 
 int FFVideoConvert::convert_vframe_picture(VFrame *frame, AVFrame *op, AVFrame *opic)
 }
 
 int FFVideoConvert::convert_vframe_picture(VFrame *frame, AVFrame *op, AVFrame *opic)
-{
+{ // vframe = picture
        int cmodel = frame->get_color_model();
        AVPixelFormat ifmt = color_model_to_pix_fmt(cmodel);
        if( ifmt == AV_PIX_FMT_NB ) return -1;
        int cmodel = frame->get_color_model();
        AVPixelFormat ifmt = color_model_to_pix_fmt(cmodel);
        if( ifmt == AV_PIX_FMT_NB ) return -1;
@@ -1523,6 +1537,19 @@ int FFVideoConvert::convert_vframe_picture(VFrame *frame, AVFrame *op, AVFrame *
                                " sws_getCachedContext() failed\n");
                return -1;
        }
                                " sws_getCachedContext() failed\n");
                return -1;
        }
+
+       int jpeg_range = preferences->yuv_color_range == BC_COLORS_JPEG ? 1 : 0;
+       int *inv_table, *table, src_range, dst_range;
+       int brightness, contrast, saturation;
+       if( !sws_getColorspaceDetails(convert_ctx,
+                       &inv_table, &src_range, &table, &dst_range,
+                       &brightness, &contrast, &saturation) ) {
+               if( dst_range != jpeg_range )
+                       sws_setColorspaceDetails(convert_ctx,
+                                       inv_table, src_range, table, jpeg_range,
+                                       brightness, contrast, saturation);
+       }
+
        int ret = sws_scale(convert_ctx, opic->data, opic->linesize, 0, frame->get_h(),
                        op->data, op->linesize);
        if( ret < 0 ) {
        int ret = sws_scale(convert_ctx, opic->data, opic->linesize, 0, frame->get_h(),
                        op->data, op->linesize);
        if( ret < 0 ) {
@@ -3229,6 +3256,11 @@ const char *FFMPEG::ff_hw_dev()
        return &file_base->file->preferences->use_hw_dev[0];
 }
 
        return &file_base->file->preferences->use_hw_dev[0];
 }
 
+Preferences *FFMPEG::ff_prefs()
+{
+       return !file_base ? 0 : file_base->file->preferences;
+}
+
 int FFVideoStream::create_filter(const char *filter_spec, AVCodecParameters *avpar)
 {
        avfilter_register_all();
 int FFVideoStream::create_filter(const char *filter_spec, AVCodecParameters *avpar)
 {
        avfilter_register_all();
index 9e17d8b9024fda0a7b135175d78c6eb41f532c8c..46838b4d92dca56ee8bc0625554ef5b48d0aff3a 100644 (file)
@@ -20,6 +20,7 @@
 #include "fileffmpeg.inc"
 #include "indexstate.inc"
 #include "mutex.h"
 #include "fileffmpeg.inc"
 #include "indexstate.inc"
 #include "mutex.h"
+#include "preferences.inc"
 #include "thread.h"
 #include "vframe.inc"
 
 #include "thread.h"
 #include "vframe.inc"
 
@@ -204,10 +205,14 @@ public:
 
 class FFVideoConvert {
 public:
 
 class FFVideoConvert {
 public:
+       Preferences *preferences;
        struct SwsContext *convert_ctx;
        AVFrame *sw_frame;
 
        struct SwsContext *convert_ctx;
        AVFrame *sw_frame;
 
-       FFVideoConvert() { convert_ctx = 0; sw_frame = 0; }
+       FFVideoConvert(Preferences *preferences) {
+               this->preferences = preferences;
+               convert_ctx = 0; sw_frame = 0;
+       }
        ~FFVideoConvert() {
                if( convert_ctx ) sws_freeContext(convert_ctx);
                if( sw_frame ) av_frame_free(&sw_frame);
        ~FFVideoConvert() {
                if( convert_ctx ) sws_freeContext(convert_ctx);
                if( sw_frame ) av_frame_free(&sw_frame);
@@ -412,6 +417,7 @@ public:
 
        int ff_cpus();
        const char *ff_hw_dev();
 
        int ff_cpus();
        const char *ff_hw_dev();
+       Preferences *ff_prefs();
        void dump_context(AVCodecContext *ctx);
 };
 
        void dump_context(AVCodecContext *ctx);
 };
 
index 03ad7e25df9f1e7e8cbe51f310a8c9a45a9e36a5..2cc12d62737625feec8a15602b2ffbea57fe6d95 100644 (file)
@@ -1002,7 +1002,9 @@ int PluginFAClient::process_buffer(int64_t size, Samples **buffer, int64_t start
 
 
 PluginFVClient::PluginFVClient(PluginServer *server, const char *name)
 
 
 PluginFVClient::PluginFVClient(PluginServer *server, const char *name)
- : PluginVClient(server), PluginFClient(this, name)
+ : PluginVClient(server),
+   PluginFClient(this, name),
+   FFVideoConvert(server->preferences)
 {
 }
 
 {
 }
 
index b0c4e77297b9f22eb20975ee4ab7eae225780537..7702a6b3460af1913079e2d68d7968e334921bc0 100644 (file)
@@ -509,7 +509,7 @@ fi
 
 AC_DEFUN([CHECK_LIB], [
 if test "x$HAVE_$1" != "xno"; then
 
 AC_DEFUN([CHECK_LIB], [
 if test "x$HAVE_$1" != "xno"; then
- if test "x$PKG_$1" = "x" -o "x$WANT_STATIC_BUILD" = "xno" -a "x$PKG_$1" = "xauto"; then
+ if test "x$PKG_$1" = "x" -o "x$WANT_STATIC_BUILD" = "xno" -a "x$PKG_$1" != "xno"; then
   AC_CHECK_LIB([$2], [$3], [HAVE_$1=yes], [HAVE_$1=no], [$4])
   AC_SUBST([HAVE_$1])
   if test "x$WANT_$1" != "xno"; then
   AC_CHECK_LIB([$2], [$3], [HAVE_$1=yes], [HAVE_$1=no], [$4])
   AC_SUBST([HAVE_$1])
   if test "x$WANT_$1" != "xno"; then
@@ -828,7 +828,11 @@ fi
 AC_DEFUN([PKG_PROVIDE],[
 if test "x$BUILD_$1" = "x" ; then
  if test "x$PKG_$1" = "xyes"; then
 AC_DEFUN([PKG_PROVIDE],[
 if test "x$BUILD_$1" = "x" ; then
  if test "x$PKG_$1" = "xyes"; then
-  PKG_FORCED([$1])
+  if test "x$WANT_CIN_3RDPARTY" = "xno"; then
+    PKG_SHARED([$1])
+  else
+    PKG_FORCED([$1])
+  fi
  elif test "x$2" = "xno" -o "x$PKG_$1" = "xno"; then
   PKG_DISABLED([$1])
  elif test "x$WANT_STATIC_BUILD" = "xyes"; then
  elif test "x$2" = "xno" -o "x$PKG_$1" = "xno"; then
   PKG_DISABLED([$1])
  elif test "x$WANT_STATIC_BUILD" = "xyes"; then
@@ -1088,9 +1092,9 @@ if test "x$CFG_LDFLAGS" != "x" ; then
 fi
 
 if test "x$CYGWIN" != "x" ; then
 fi
 
 if test "x$CYGWIN" != "x" ; then
-  echo 'FF_DIR ?= /usr/local'
-  echo 'CFLAGS += -I$(FF_DIR)/include'
-  echo 'LDFLAGS += -L$(FF_DIR)/lib'
+  echo 'FF_PATH ?= /usr/local'
+  echo 'LDFLAGS += -L$(FF_PATH)/lib'
+  echo 'CFLAGS += -I$(FF_PATH)/include'
   echo ""
   echo "CFLAGS += -DNO_BTRACE"
   echo "CFLAGS += -DNO_GDB"
   echo ""
   echo "CFLAGS += -DNO_BTRACE"
   echo "CFLAGS += -DNO_GDB"
@@ -1102,6 +1106,11 @@ if test "x$CYGWIN" != "x" ; then
 else
   LDFLAGS+=" -z noexecstack"
 fi
 else
   LDFLAGS+=" -z noexecstack"
 fi
+if test "x$BSD" != "x" ; then
+  echo "CFLAGS += -DNO_PRCTL"
+  echo "CFLAGS += -DNO_TID"
+  echo "CFLAGS += -DNO_GDB"
+fi
 
 if test "x$WANT_X264_HIDEPTH" = "xyes" ; then
   X264_CFG_PARAMS="$X264_CFG_PARAMS --bit-depth=10"
 
 if test "x$WANT_X264_HIDEPTH" = "xyes" ; then
   X264_CFG_PARAMS="$X264_CFG_PARAMS --bit-depth=10"
index 2d08b46babef0c3fe0e2f47eb59e030753b227f6..7e453925487b01931c480a541f23f91541b44134 100644 (file)
@@ -309,7 +309,7 @@ void BC_Trace::dump_traces(FILE *fp)
        }
 }
 
        }
 }
 
-void trace_info::set_owner() { owner = (unsigned long)pthread_self(); }
+void trace_info::set_owner() { owner = pthread_self(); }
 void trace_info::unset_owner() { owner = 0; }
 
 void BC_Trace::dump_locks(FILE *fp)
 void trace_info::unset_owner() { owner = 0; }
 
 void BC_Trace::dump_locks(FILE *fp)
@@ -322,7 +322,7 @@ void BC_Trace::dump_locks(FILE *fp)
                fprintf(fp,"    %p %s, %s %p%s",
                        p->info, p->title, p->loc,
                        (void*)p->tid, p->is_owner ? " *" : "");
                fprintf(fp,"    %p %s, %s %p%s",
                        p->info, p->title, p->loc,
                        (void*)p->tid, p->is_owner ? " *" : "");
-               if( p->info->owner && p->info->owner != (unsigned long)p->tid )
+               if( p->info->owner && p->info->owner != p->tid )
                        fprintf(fp," %p", (void*)p->info->owner);
                fprintf(fp,"\n");
        }
                        fprintf(fp," %p", (void*)p->info->owner);
                fprintf(fp,"\n");
        }
index 5f09589d5cbc742db14a398b2be580c89d3e83b5..c5844835992f35805c9090bebf1bf8c21698cb3e 100644 (file)
@@ -1,81 +1,37 @@
 Email cin@lists.cinelerra-gg.org 4 help.
 For usage help, refer to the following:
 Email cin@lists.cinelerra-gg.org 4 help.
 For usage help, refer to the following:
-  https://cinelerra-gg.org/downloads/CinelerraGG_manual.pdf
-  https://cinelerra-gg.org/downloads/Features.pdf
+  https://cinelerra-gg.org/download/CinelerraGG_Manual.pdf
   http://g-raffa.eu/Cinelerra/HOWTO/basics.html
 Cinfinity icons selected in Preferences Sam (CC BY 3.0,
   https://creativecommons.org/licenses/by/3.0/)
 Cakewalk and Neophyte themes by Olaf Wolff (CC BY 4.0,
   https://creativecommons.org/licenses/by/4.0/)
 .
   http://g-raffa.eu/Cinelerra/HOWTO/basics.html
 Cinfinity icons selected in Preferences Sam (CC BY 3.0,
   https://creativecommons.org/licenses/by/3.0/)
 Cakewalk and Neophyte themes by Olaf Wolff (CC BY 4.0,
   https://creativecommons.org/licenses/by/4.0/)
 .
-December 2019 New Features of note:
+January 2020 New Features of note:
+  Updated reference Manual using LaTeX now complete.
+  File by Reference capability now available.
+  Hauppauge Remote Control added for OTA TV.
+  Pulse Audio added as a sound driver choice.
+.
+2019 New Features of note:
   Edit EDLs feature added for easily editing nested EDLs.
   Edit EDLs feature added for easily editing nested EDLs.
-  New Compressor Multi, Alpha, and Foreground plugins.
-  Sketcher plugin improvements for aliasing/scaling/rotating.
-  Fastpath minor speed improvement for titles/bkg colors.
-  Improved hardware accelerators support.
   OTA TV support for Happauge 1657 Dual USB device recording.
   OTA TV support for Happauge 1657 Dual USB device recording.
-November 2019 New Features of note:
   Audio improvements added for playback/speed/sampling.
   Audio improvements added for playback/speed/sampling.
-  Spanish po and website translations updated by Sergio.
+  Spanish, Russian, French, and German translations updated.
   Transcode 1:1 added to convert to a different format.
   Compositor zoom using the wheel & panning is available.
   Transcode 1:1 added to convert to a different format.
   Compositor zoom using the wheel & panning is available.
-October 2019 New Features of note:
   Scaling for any size monitor now available in Preferences.
   Scaling for any size monitor now available in Preferences.
-  New Shape Wipe video transitions have been contributed.
-  Russian translation contributions for better coverage.
-  Insertion Strategy icons added back in for ease of use.
-  Several additional ffmpeg opts files contributed for use.
-September 2019 New Features of note:
-  Crop & Position new plugin now available.
-  New "Load recent" in File pulldown, for recently used media.
-  Library x265 has been upgraded to 3.1.2.
-  Camera and Projector menu has added Add Keyframe/Reset.
-August 2019 New Features of note:
-  FFmpeg in use with Cinelerra is now version 4.2.
-  Lipvpx has been upgraded to version 1.8.1.
-  Dav1d is now the default/faster decoder for AV1 media.
-  Performance improvements were added for Mask feathering.
-July 2019 New Features of note:
-  Completion of Masking improvements with Preset Shapes, Center
-    and Normalize buttons, plus x/y scaling in 1 direction only.
-  Provision for usage of Rectified Audio waveforms was added.
-  Spanning Keyframes is now isolated to avoid interference.
-June 2019 New Features of note:
-  Hardware acceleration Nvenc for Nvidia boards rendering in.
-  More masking improvements to include tracks, solo, & gangs.
-  Cuda capability optional if do your own builds.
-  Gradient plugin improved for OpenGL + color picker.
-  Blade cute/Hard edges is now less intrusive.
-May 2019 New Features of note:
-  Masking enhancements added to include Rotate and Scale.
-  Some encode hardware acceleration for vaapi graphics boards.
-  More decode options for vdpau/vaapi hardware acceleration.
-  French and German improved program translations.
-  Additional args capability for Shell Commands setup.
-April 2019 New Features of note:
-  GPU usage for MPEG/H.264 formats with vdpau/vaapi for decode.
-  New Tracer plugin to outline objects available.
-  A Clear button for 15 plugins sliders eases usage.
-  Camera and Projector slight improvements with yellow line.
-  Enhanced ffmpeg error reporting.
-March 2019 New Features of note:
-  Mixers, multiple cameras, now has Audio Alignment.
+  Improved and new transitions and plugins to include:
+    Tracer, Crop & Position, Compressor Multi, Alpha, Foreground.
+  Libraries updated for FFmpeg, libvpx, x264, x265, and Dav1d.
+  Major improvements for Masking in the Compositor.
+  Camera and Projector menu and usage improvements added.
+  Hardware acceleration capabilities added to include:
+    nvenc for nvidia boards, vdapu and vaapi hardware, + cuda.
   Additional options for Preview mode in Resources window.
   Named layouts for easier identification purposes.
   Additional options for Preview mode in Resources window.
   Named layouts for easier identification purposes.
-  ShuttlePro/Xpress will work on multiple instances.
-  Insert Mixers for multiple cameras at Insertion point.
-February 2019 New Features of note:
-  AV1 and WebP format usage is now included.
-  ShuttlePro/Xpress stabilization/setup/definition is complete.
-  Transitions now allow for length in frames, time and seconds.
-  Gif formatted files have had major improvements added.
-January 2019 New Features of note:
-  Capability for Shuttle usage has been added.
-  Drag Handle management includes Slide and Edge too.
-  Updated x264 (now includes 10-bit and 8-bit) and x265.
-  Undo stack can now be dumped into the terminal windows.
-  23 more plugins have reset buttons included.
+  Capability for ShuttlePro/Xpress usage has been added.
+  Insert Mixers for multiple cameras general improvements added.
 .
 2018 New Features of note:
   Inter-View mode / Identifying Source Targets added.
 .
 2018 New Features of note:
   Inter-View mode / Identifying Source Targets added.
index 38326d9ad4bce82751a97788a51713884b2f8b99..a7394142e33ec7dd49485ea3e238124666874393 100644 (file)
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: Cinelerra 5.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-10-15 14:02-0600\n"
 "Project-Id-Version: Cinelerra 5.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-10-15 14:02-0600\n"
-"PO-Revision-Date: 2020-01-26 00:30+0100\n"
+"PO-Revision-Date: 2020-01-29 23:13+0100\n"
 "Last-Translator: Sergio Daniel Gomez <sergio.sgsistemas@gmail.com>\n"
 "Language-Team: SPANISH <LL@li.org>\n"
 "Language: es\n"
 "Last-Translator: Sergio Daniel Gomez <sergio.sgsistemas@gmail.com>\n"
 "Language-Team: SPANISH <LL@li.org>\n"
 "Language: es\n"
@@ -18,23 +18,13 @@ msgstr ""
 "X-Generator: Poedit 2.0.6\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "X-Generator: Poedit 2.0.6\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-11-14 11:47-0700\n"
+"POT-Creation-Date: 2020-01-29 14:04-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\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"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-01-21 13:56-0700\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"
-"Language: \n"
+"Last-Translator: Rafa Mar <rafamar.mm.ig@gmail.com>\n"
+"Language-Team: SPANISH <LL@li.org>\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: guicast/bcbutton.C:266 guicast/bcbutton.C:274 guicast/bcbutton.C:494
 "Content-Transfer-Encoding: 8bit\n"
 
 #: guicast/bcbutton.C:266 guicast/bcbutton.C:274 guicast/bcbutton.C:494
@@ -55,7 +45,7 @@ msgid "cannot connect to X server.\n"
 msgstr "no se puede conectar con el servidor X.\n"
 
 #: guicast/bccapture.C:68 guicast/bcdisplay.C:60 guicast/bcdisplayinfo.C:415
 msgstr "no se puede conectar con el servidor X.\n"
 
 #: guicast/bccapture.C:68 guicast/bcdisplay.C:60 guicast/bcdisplayinfo.C:415
-#: guicast/bcwindowbase.C:659
+#: guicast/bcwindowbase.C:662
 #, c-format
 msgid "'DISPLAY' environment variable not set.\n"
 msgstr "Variable de entorno 'PANTALLA' no establecido.\n"
 #, c-format
 msgid "'DISPLAY' environment variable not set.\n"
 msgstr "Variable de entorno 'PANTALLA' no establecido.\n"
@@ -218,9 +208,8 @@ msgstr "Cortar"
 msgid "Copy"
 msgstr "Copiar"
 
 msgid "Copy"
 msgstr "Copiar"
 
-#: guicast/bctextbox.C:2928 cinelerra/assetpopup.C:423
-#: cinelerra/clippopup.C:280 cinelerra/editpopup.C:245 cinelerra/mainmenu.C:902
-#: cinelerra/proxypopup.C:238 cinelerra/swindow.C:547
+#: guicast/bctextbox.C:2928 cinelerra/clippopup.C:280 cinelerra/editpopup.C:245
+#: cinelerra/mainmenu.C:902 cinelerra/proxypopup.C:238 cinelerra/swindow.C:547
 msgid "Paste"
 msgstr "Pegar"
 
 msgid "Paste"
 msgstr "Pegar"
 
@@ -239,9 +228,9 @@ msgstr "BC_Theme::check_used: Las imágenes no se utilizan.\n"
 msgid "%s: opengl initialization failed failed\n"
 msgstr "%s: falló la inicialización de opengl\n"
 
 msgid "%s: opengl initialization failed failed\n"
 msgstr "%s: falló la inicialización de opengl\n"
 
-#: guicast/bcwindowbase.C:2419
+#: guicast/bcwindowbase.C:2425
 msgid " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
 msgid " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
-msgstr " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
+msgstr ""
 
 #: guicast/test.C:165
 msgid ""
 
 #: guicast/test.C:165
 msgid ""
@@ -325,62 +314,66 @@ msgstr ""
 msgid "cuts to %s complete\n"
 msgstr "cortes a %s completos\n"
 
 msgid "cuts to %s complete\n"
 msgstr "cortes a %s completos\n"
 
-#: cinelerra/adeviceprefs.C:305 cinelerra/vdeviceprefs.C:332
+#: cinelerra/adeviceprefs.C:321 cinelerra/vdeviceprefs.C:332
 #: cinelerra/vdeviceprefs.C:344 cinelerra/vdeviceprefs.C:361
 msgid "Device path:"
 msgstr "Ruta del dispositivo:"
 
 #: cinelerra/vdeviceprefs.C:344 cinelerra/vdeviceprefs.C:361
 msgid "Device path:"
 msgstr "Ruta del dispositivo:"
 
-#: cinelerra/adeviceprefs.C:326 cinelerra/adeviceprefs.C:396
-#: cinelerra/adeviceprefs.C:585 cinelerra/adeviceprefs.C:602
-#: cinelerra/adeviceprefs.C:604 cinelerra/assetedit.C:371
+#: cinelerra/adeviceprefs.C:342 cinelerra/adeviceprefs.C:412
+#: cinelerra/adeviceprefs.C:599 cinelerra/adeviceprefs.C:616
+#: cinelerra/adeviceprefs.C:618 cinelerra/assetedit.C:371
 #: cinelerra/fileformat.C:88 cinelerra/formatwindow.C:48
 msgid "Bits:"
 msgstr "Bits:"
 
 #: cinelerra/fileformat.C:88 cinelerra/formatwindow.C:48
 msgid "Bits:"
 msgstr "Bits:"
 
-#: cinelerra/adeviceprefs.C:375
+#: cinelerra/adeviceprefs.C:391
 msgid "Device:"
 msgstr "Dispositivo:"
 
 msgid "Device:"
 msgstr "Dispositivo:"
 
-#: cinelerra/adeviceprefs.C:410
+#: cinelerra/adeviceprefs.C:426
 msgid "Stop playback locks up."
 msgstr "Parar la reproducción si se bloquea."
 
 msgid "Stop playback locks up."
 msgstr "Parar la reproducción si se bloquea."
 
-#: cinelerra/adeviceprefs.C:437
+#: cinelerra/adeviceprefs.C:451
 msgid "Server:"
 msgstr "Servidor:"
 
 msgid "Server:"
 msgstr "Servidor:"
 
-#: cinelerra/adeviceprefs.C:455 cinelerra/adeviceprefs.C:508
+#: cinelerra/adeviceprefs.C:469 cinelerra/adeviceprefs.C:522
 #: cinelerra/interfaceprefs.C:134 cinelerra/performanceprefs.C:167
 #: cinelerra/vdeviceprefs.C:277
 msgid "Port:"
 msgstr "Puerto:"
 
 #: cinelerra/interfaceprefs.C:134 cinelerra/performanceprefs.C:167
 #: cinelerra/vdeviceprefs.C:277
 msgid "Port:"
 msgstr "Puerto:"
 
-#: cinelerra/adeviceprefs.C:488 cinelerra/vdeviceprefs.C:259
+#: cinelerra/adeviceprefs.C:502 cinelerra/vdeviceprefs.C:259
 msgid "Device Path:"
 msgstr "Ruta de Dispositivo:"
 
 msgid "Device Path:"
 msgstr "Ruta de Dispositivo:"
 
-#: cinelerra/adeviceprefs.C:528 cinelerra/channeledit.C:997
+#: cinelerra/adeviceprefs.C:542 cinelerra/channeledit.C:997
 #: cinelerra/vdeviceprefs.C:295 plugins/compressormulti/comprmultigui.C:190
 msgid "Channel:"
 msgstr "Canal:"
 
 #: cinelerra/vdeviceprefs.C:295 plugins/compressormulti/comprmultigui.C:190
 msgid "Channel:"
 msgstr "Canal:"
 
-#: cinelerra/adeviceprefs.C:552 cinelerra/vdeviceprefs.C:318
+#: cinelerra/adeviceprefs.C:566 cinelerra/vdeviceprefs.C:318
 msgid "Syt Offset:"
 msgstr "Compensación Syt:"
 
 msgid "Syt Offset:"
 msgstr "Compensación Syt:"
 
-#: cinelerra/adeviceprefs.C:570 cinelerra/adeviceprefs.C:572
+#: cinelerra/adeviceprefs.C:584 cinelerra/adeviceprefs.C:586
 #: cinelerra/vdeviceprefs.C:214 cinelerra/vdeviceprefs.C:216
 msgid "DVB Adapter:"
 msgstr "Adaptador DVB:"
 
 #: cinelerra/vdeviceprefs.C:214 cinelerra/vdeviceprefs.C:216
 msgid "DVB Adapter:"
 msgstr "Adaptador DVB:"
 
-#: cinelerra/adeviceprefs.C:578 cinelerra/vdeviceprefs.C:221
+#: cinelerra/adeviceprefs.C:592 cinelerra/vdeviceprefs.C:221
 msgid "dev:"
 msgstr "disp:"
 
 msgid "dev:"
 msgstr "disp:"
 
-#: cinelerra/adeviceprefs.C:593 cinelerra/adeviceprefs.C:612
+#: cinelerra/adeviceprefs.C:607 cinelerra/adeviceprefs.C:626
 msgid "Follow audio config"
 msgstr "Sigue la configuración de audio"
 
 msgid "Follow audio config"
 msgstr "Sigue la configuración de audio"
 
+#: cinelerra/adeviceprefs.C:647
+msgid "Server (blank for default):"
+msgstr ""
+
 #: cinelerra/amodule.C:268
 #, c-format
 msgid "AModule::import_samples Couldn't open %s.\n"
 #: cinelerra/amodule.C:268
 #, c-format
 msgid "AModule::import_samples Couldn't open %s.\n"
@@ -666,7 +659,7 @@ msgstr "Vídeo:"
 
 #: cinelerra/assetedit.C:458 cinelerra/setformat.C:348
 msgid "Frame rate:"
 
 #: cinelerra/assetedit.C:458 cinelerra/setformat.C:348
 msgid "Frame rate:"
-msgstr "Velocidad de fotograma:"
+msgstr "FPS:"
 
 #: cinelerra/assetedit.C:475 cinelerra/scale.C:214 cinelerra/scale.C:216
 #: cinelerra/setformat.C:363 plugins/freeverb/freeverb.C:332
 
 #: cinelerra/assetedit.C:475 cinelerra/scale.C:214 cinelerra/scale.C:216
 #: cinelerra/setformat.C:363 plugins/freeverb/freeverb.C:332
@@ -731,7 +724,7 @@ msgid "Open EDL"
 msgstr "Abrir EDL"
 
 #: cinelerra/assetpopup.C:230 cinelerra/editpopup.C:116
 msgstr "Abrir EDL"
 
 #: cinelerra/assetpopup.C:230 cinelerra/editpopup.C:116
-#: cinelerra/mwindow.C:2109
+#: cinelerra/mwindow.C:2113
 #, c-format
 msgid ""
 "Error: unable to open:\n"
 #, c-format
 msgid ""
 "Error: unable to open:\n"
@@ -741,7 +734,7 @@ msgstr ""
 " %s"
 
 #: cinelerra/assetpopup.C:236 cinelerra/editpopup.C:122
 " %s"
 
 #: cinelerra/assetpopup.C:236 cinelerra/editpopup.C:122
-#: cinelerra/mwindow.C:2134
+#: cinelerra/mwindow.C:2138
 #, c-format
 msgid ""
 "Error: unable to load:\n"
 #, c-format
 msgid ""
 "Error: unable to load:\n"
@@ -750,7 +743,7 @@ msgstr ""
 "Error: no se puede cargar:\n"
 " %s"
 
 "Error: no se puede cargar:\n"
 " %s"
 
-#: cinelerra/assetpopup.C:248 cinelerra/mwindow.C:3973
+#: cinelerra/assetpopup.C:248 cinelerra/mwindow.C:3977
 #, c-format
 msgid ""
 "media is not EDL:\n"
 #, c-format
 msgid ""
 "media is not EDL:\n"
@@ -794,6 +787,10 @@ msgstr "Abrir en mezclador"
 msgid "Insert Mixers"
 msgstr "Insertar en mezclador"
 
 msgid "Insert Mixers"
 msgstr "Insertar en mezclador"
 
+#: cinelerra/assetpopup.C:423
+msgid "assetpopup#Paste"
+msgstr "Inserción Directa"
+
 #: cinelerra/assetpopup.C:441 cinelerra/clippopup.C:298
 msgid "Match project size"
 msgstr "Ajusta al tamaño del proyecto"
 #: cinelerra/assetpopup.C:441 cinelerra/clippopup.C:298
 msgid "Match project size"
 msgstr "Ajusta al tamaño del proyecto"
@@ -927,32 +924,32 @@ msgstr "Eliminar permanentemente del disco?"
 msgid "Audio %d"
 msgstr "Audio %d"
 
 msgid "Audio %d"
 msgstr "Audio %d"
 
-#: cinelerra/audioalsa.C:258
+#: cinelerra/audioalsa.C:203
 #, c-format
 msgid "no PCM configurations available\n"
 msgstr "no hay configuraciones disponibles PCM\n"
 
 #, c-format
 msgid "no PCM configurations available\n"
 msgstr "no hay configuraciones disponibles PCM\n"
 
-#: cinelerra/audioalsa.C:267
+#: cinelerra/audioalsa.C:212
 #, c-format
 msgid "failed to set up interleaved device access.\n"
 msgstr "fallo al configurar el acceso dispositivo de intercalado.\n"
 
 #, c-format
 msgid "failed to set up interleaved device access.\n"
 msgstr "fallo al configurar el acceso dispositivo de intercalado.\n"
 
-#: cinelerra/audioalsa.C:276
+#: cinelerra/audioalsa.C:221
 #, c-format
 msgid "failed to set output format.\n"
 msgstr "falló al establecer el formato de salida.\n"
 
 #, c-format
 msgid "failed to set output format.\n"
 msgstr "falló al establecer el formato de salida.\n"
 
-#: cinelerra/audioalsa.C:285
+#: cinelerra/audioalsa.C:230
 #, c-format
 msgid "Configured ALSA device does not support %d channel operation.\n"
 msgstr "Dispositivo configurado ALSA no soporta el funcionamiento del canal %d\n"
 
 #, c-format
 msgid "Configured ALSA device does not support %d channel operation.\n"
 msgstr "Dispositivo configurado ALSA no soporta el funcionamiento del canal %d\n"
 
-#: cinelerra/audioalsa.C:296
+#: cinelerra/audioalsa.C:241
 #, c-format
 msgid " Configured ALSA device does not support %u Hz playback.\n"
 msgstr " Dispositivo configurado ALSA no es compatible con la reproducción %u Hz.\n"
 
 #, c-format
 msgid " Configured ALSA device does not support %u Hz playback.\n"
 msgstr " Dispositivo configurado ALSA no es compatible con la reproducción %u Hz.\n"
 
-#: cinelerra/audioalsa.C:582
+#: cinelerra/audioalsa.C:527
 #, c-format
 msgid "AudioALSA::write_buffer err %d(%s) at sample %jd\n"
 msgstr "AudioALSA::escritura_de_buffer err %d(%s) en la muestra %jd\n"
 #, c-format
 msgid "AudioALSA::write_buffer err %d(%s) at sample %jd\n"
 msgstr "AudioALSA::escritura_de_buffer err %d(%s) en la muestra %jd\n"
@@ -965,23 +962,23 @@ msgstr "%s falló\n"
 
 #: cinelerra/avc1394transport.C:175 cinelerra/playtransport.C:384
 msgid "Rewind ( Home )"
 
 #: cinelerra/avc1394transport.C:175 cinelerra/playtransport.C:384
 msgid "Rewind ( Home )"
-msgstr "Rebobinar (inicio)"
+msgstr "Rebobinar ( inicio )"
 
 #: cinelerra/avc1394transport.C:200
 msgid "Fast Reverse ( + )"
 
 #: cinelerra/avc1394transport.C:200
 msgid "Fast Reverse ( + )"
-msgstr "Invertir rápido (+)"
+msgstr "Invertir rápido ( + )"
 
 #: cinelerra/avc1394transport.C:224
 msgid "Reverse Play ( 6 )"
 
 #: cinelerra/avc1394transport.C:224
 msgid "Reverse Play ( 6 )"
-msgstr "Reproducir al revés (6)"
+msgstr "Reproducir al revés ( 6 )"
 
 #: cinelerra/avc1394transport.C:256
 msgid "Stop ( 0 )"
 
 #: cinelerra/avc1394transport.C:256
 msgid "Stop ( 0 )"
-msgstr "Parar (0)"
+msgstr "Parar ( 0 )"
 
 #: cinelerra/avc1394transport.C:281
 msgid "Play ( 3 )"
 
 #: cinelerra/avc1394transport.C:281
 msgid "Play ( 3 )"
-msgstr "Reproducir (3)"
+msgstr "Reproducir ( 3 )"
 
 #: cinelerra/avc1394transport.C:314 cinelerra/recordtransport.C:277
 msgid "Pause"
 
 #: cinelerra/avc1394transport.C:314 cinelerra/recordtransport.C:277
 msgid "Pause"
@@ -989,11 +986,11 @@ msgstr "Pausar"
 
 #: cinelerra/avc1394transport.C:337
 msgid "Fast Forward ( Enter )"
 
 #: cinelerra/avc1394transport.C:337
 msgid "Fast Forward ( Enter )"
-msgstr "Avanzar Rapido (Intro)"
+msgstr "Avanzar Rapido ( Intro )"
 
 #: cinelerra/avc1394transport.C:365 cinelerra/playtransport.C:475
 msgid "Jump to end ( End )"
 
 #: cinelerra/avc1394transport.C:365 cinelerra/playtransport.C:475
 msgid "Jump to end ( End )"
-msgstr "Salta al final (Fin)"
+msgstr "Salta al final ( Fin )"
 
 #: cinelerra/awindowgui.C:88
 msgid "Audio Effects"
 
 #: cinelerra/awindowgui.C:88
 msgid "Audio Effects"
@@ -1220,7 +1217,7 @@ msgstr "Cronometrado"
 #: cinelerra/ffmpeg.C:3199 cinelerra/file.C:1263 cinelerra/file.C:1290
 #: cinelerra/interfaceprefs.C:551 cinelerra/interlacemodes.h:27
 #: cinelerra/loadmode.C:116 cinelerra/new.C:873 cinelerra/record.C:741
 #: cinelerra/ffmpeg.C:3199 cinelerra/file.C:1263 cinelerra/file.C:1290
 #: cinelerra/interfaceprefs.C:551 cinelerra/interlacemodes.h:27
 #: cinelerra/loadmode.C:116 cinelerra/new.C:873 cinelerra/record.C:741
-#: cinelerra/vdeviceprefs.C:657 plugins/motion2point/motionwindow.C:791
+#: cinelerra/vdeviceprefs.C:659 plugins/motion2point/motionwindow.C:791
 #: plugins/motion2point/motionwindow.C:862 plugins/timefront/timefront.C:421
 #: plugins/titler/titler.C:2336
 msgid "Unknown"
 #: plugins/motion2point/motionwindow.C:862 plugins/timefront/timefront.C:421
 #: plugins/titler/titler.C:2336
 msgid "Unknown"
@@ -1586,7 +1583,7 @@ msgstr "FPS"
 
 #: cinelerra/binfolder.C:54
 msgid "Samplerate"
 
 #: cinelerra/binfolder.C:54
 msgid "Samplerate"
-msgstr "Velocidad de muestreo"
+msgstr "Muestras Hz"
 
 #: cinelerra/binfolder.C:55
 msgid "Channels"
 
 #: cinelerra/binfolder.C:55
 msgid "Channels"
@@ -2457,7 +2454,7 @@ msgstr ": Confirmar Salir"
 
 #: cinelerra/confirmquit.C:53
 msgid "( Answering \"No\" will destroy changes )"
 
 #: cinelerra/confirmquit.C:53
 msgid "( Answering \"No\" will destroy changes )"
-msgstr "(Contestar \"No\" destruirá los cambios)"
+msgstr "( Contestar \"No\" destruirá los cambios )"
 
 #: cinelerra/confirmquit.C:66 cinelerra/question.C:61 cinelerra/reindex.C:94
 msgid "Yes"
 
 #: cinelerra/confirmquit.C:66 cinelerra/question.C:61 cinelerra/reindex.C:94
 msgid "Yes"
@@ -2504,7 +2501,7 @@ msgstr ""
 #: cinelerra/convert.C:377
 #, c-format
 msgid "convert: failed=%d canceled=%d\n"
 #: cinelerra/convert.C:377
 #, c-format
 msgid "convert: failed=%d canceled=%d\n"
-msgstr "convertir: fallido=%d cancelado)%d\n"
+msgstr "convertir: fallido=%d cancelado)=%d\n"
 
 #: cinelerra/convert.C:382
 #, c-format
 
 #: cinelerra/convert.C:382
 #, c-format
@@ -2688,7 +2685,7 @@ msgstr "máscara"
 
 #: cinelerra/cwindowgui.h:55 cinelerra/scale.C:363 cinelerra/setformat.C:766
 msgid "Auto"
 
 #: cinelerra/cwindowgui.h:55 cinelerra/scale.C:363 cinelerra/setformat.C:766
 msgid "Auto"
-msgstr "Automático"
+msgstr "Auto"
 
 #: cinelerra/cwindowtool.C:390
 msgid "Reformat"
 
 #: cinelerra/cwindowtool.C:390
 msgid "Reformat"
@@ -3767,15 +3764,15 @@ msgstr "720P / 60"
 
 #: cinelerra/defaultformats.h:50
 msgid "PAL 576I - DV(D)"
 
 #: cinelerra/defaultformats.h:50
 msgid "PAL 576I - DV(D)"
-msgstr "PAL 576I - DV (D)"
+msgstr "PAL 576I - DV(D)"
 
 #: cinelerra/defaultformats.h:52
 msgid "NTSC 480P - DV(D)"
 
 #: cinelerra/defaultformats.h:52
 msgid "NTSC 480P - DV(D)"
-msgstr "NTSC 480P - DV (D)"
+msgstr "NTSC 480P - DV(D)"
 
 #: cinelerra/defaultformats.h:54
 msgid "NTSC 480I - DV(D)"
 
 #: cinelerra/defaultformats.h:54
 msgid "NTSC 480I - DV(D)"
-msgstr "NTSC 480I - DV (D)"
+msgstr "NTSC 480I - DV(D)"
 
 #: cinelerra/defaultformats.h:56
 msgid "YouTube"
 
 #: cinelerra/defaultformats.h:56
 msgid "YouTube"
@@ -3814,8 +3811,8 @@ msgstr "** %scarrier, dvb_locked %s\n"
 msgid "no "
 msgstr "no "
 
 msgid "no "
 msgstr "no "
 
-#: cinelerra/devicedvbinput.C:494 cinelerra/mwindow.C:670
-#: cinelerra/mwindow.C:718
+#: cinelerra/devicedvbinput.C:494 cinelerra/mwindow.C:672
+#: cinelerra/mwindow.C:721
 msgid "lock"
 msgstr "bloquear"
 
 msgid "lock"
 msgstr "bloquear"
 
@@ -3826,7 +3823,7 @@ msgstr "perdió"
 #: cinelerra/devicempeginput.C:618
 #, c-format
 msgid "DeviceMPEGInput::get_channeldb::element %d (id %d.%d) has %d/%d video/audio streams\n"
 #: cinelerra/devicempeginput.C:618
 #, c-format
 msgid "DeviceMPEGInput::get_channeldb::element %d (id %d.%d) has %d/%d video/audio streams\n"
-msgstr "DeviceMPEGInput:::: get_channeldb elemento %d (id %d.%d) tiene %d/%d flujos de audio / vídeo\n"
+msgstr "DeviceMPEGInput:::: get_channeldb elemento %d (id %d.%d) tiene %d/%d flujos de audio/vídeo\n"
 
 #: cinelerra/devicempeginput.C:624
 #, c-format
 
 #: cinelerra/devicempeginput.C:624
 #, c-format
@@ -3888,31 +3885,31 @@ msgstr "Segundos:"
 
 #: cinelerra/editpanel.C:447
 msgid "Toggle label at current position ( l )"
 
 #: cinelerra/editpanel.C:447
 msgid "Toggle label at current position ( l )"
-msgstr "Poner la etiqueta en la posición actual (l)"
+msgstr "Poner la etiqueta en la posición actual ( l )"
 
 #: cinelerra/editpanel.C:472
 msgid "Next label ( ctrl -> )"
 
 #: cinelerra/editpanel.C:472
 msgid "Next label ( ctrl -> )"
-msgstr "Etiqueta siguiente (ctrl ->)"
+msgstr "Etiqueta siguiente ( ctrl -> )"
 
 #: cinelerra/editpanel.C:506
 msgid "Previous label ( ctrl <- )"
 
 #: cinelerra/editpanel.C:506
 msgid "Previous label ( ctrl <- )"
-msgstr "Etiqueta anterior (ctrl <-)"
+msgstr "Etiqueta anterior ( ctrl <- )"
 
 #: cinelerra/editpanel.C:540
 msgid "Previous edit (alt <- )"
 
 #: cinelerra/editpanel.C:540
 msgid "Previous edit (alt <- )"
-msgstr "Edicción anterior  (alt <-)"
+msgstr "Edicción anterior ( alt <- )"
 
 #: cinelerra/editpanel.C:574
 msgid "Next edit ( alt -> )"
 
 #: cinelerra/editpanel.C:574
 msgid "Next edit ( alt -> )"
-msgstr "Próxima edición (alt ->)"
+msgstr "Próxima edición ( alt -> )"
 
 #: cinelerra/editpanel.C:607
 msgid "Copy ( c )"
 
 #: cinelerra/editpanel.C:607
 msgid "Copy ( c )"
-msgstr "Copiar (c)"
+msgstr "Copiar ( c )"
 
 #: cinelerra/editpanel.C:634
 msgid "Overwrite ( b )"
 
 #: cinelerra/editpanel.C:634
 msgid "Overwrite ( b )"
-msgstr "Sobrescribir (b)"
+msgstr "Sobrescribir ( b )"
 
 #: cinelerra/editpanel.C:662
 msgid "In point ( [ or < )"
 
 #: cinelerra/editpanel.C:662
 msgid "In point ( [ or < )"
@@ -3924,11 +3921,11 @@ msgstr "Punto de salida ( ] or > )"
 
 #: cinelerra/editpanel.C:731
 msgid "Splice ( v )"
 
 #: cinelerra/editpanel.C:731
 msgid "Splice ( v )"
-msgstr "Juntar (v)"
+msgstr "Insertar ( v )"
 
 #: cinelerra/editpanel.C:758
 msgid "To clip ( i )"
 
 #: cinelerra/editpanel.C:758
 msgid "To clip ( i )"
-msgstr "A clip (i)"
+msgstr "A clip ( i )"
 
 #: cinelerra/editpanel.C:786
 msgid "Split | Cut ( x )"
 
 #: cinelerra/editpanel.C:786
 msgid "Split | Cut ( x )"
@@ -3936,11 +3933,11 @@ msgstr "Dividir | Cortar ( x )"
 
 #: cinelerra/editpanel.C:812
 msgid "Paste ( v )"
 
 #: cinelerra/editpanel.C:812
 msgid "Paste ( v )"
-msgstr "Pegar (v)"
+msgstr "Pegar ( v )"
 
 #: cinelerra/editpanel.C:836
 msgid "Fit selection to display ( f )"
 
 #: cinelerra/editpanel.C:836
 msgid "Fit selection to display ( f )"
-msgstr "Ajustar la selección a la pantalla (f)"
+msgstr "Ajustar la selección a la pantalla ( f )"
 
 #: cinelerra/editpanel.C:861
 msgid "Fit all autos to display ( Alt + f )"
 
 #: cinelerra/editpanel.C:861
 msgid "Fit all autos to display ( Alt + f )"
@@ -3956,7 +3953,7 @@ msgstr "Modo de edición corta y pega"
 
 #: cinelerra/editpanel.C:930
 msgid "Generate keyframes while tweeking (j)"
 
 #: cinelerra/editpanel.C:930
 msgid "Generate keyframes while tweeking (j)"
-msgstr "Generar fotogramas clave mientras se modifica (j)"
+msgstr "Generar fotogramas clave mientras se modifica ( j )"
 
 #: cinelerra/editpanel.C:960
 msgid "Allow keyframe spanning"
 
 #: cinelerra/editpanel.C:960
 msgid "Allow keyframe spanning"
@@ -3972,7 +3969,7 @@ msgstr "Paso manual a ( g )"
 
 #: cinelerra/editpanel.C:1025
 msgid "Click to play (p)"
 
 #: cinelerra/editpanel.C:1025
 msgid "Click to play (p)"
-msgstr "Clic para reproducir (p)"
+msgstr "Clic para reproducir ( p )"
 
 #: cinelerra/editpanel.C:1051
 msgid "Commercial ( shift A )"
 
 #: cinelerra/editpanel.C:1051
 msgid "Commercial ( shift A )"
@@ -3980,7 +3977,7 @@ msgstr "Comercial ( mayús A )"
 
 #: cinelerra/editpanel.C:1091
 msgid "Undo ( z )"
 
 #: cinelerra/editpanel.C:1091
 msgid "Undo ( z )"
-msgstr "Deshacer (z)"
+msgstr "Deshacer ( z )"
 
 #: cinelerra/editpanel.C:1115
 msgid "Redo ( shift Z )"
 
 #: cinelerra/editpanel.C:1115
 msgid "Redo ( shift Z )"
@@ -4023,6 +4020,10 @@ msgstr "Cortar para juntar al pegar"
 msgid "Ctrl-z"
 msgstr "Ctrl-z"
 
 msgid "Ctrl-z"
 msgstr "Ctrl-z"
 
+#: cinelerra/editpopup.C:216
+msgid "editpopup#Mute"
+msgstr "Cortar dejando el hueco"
+
 #: cinelerra/editpopup.C:216
 msgid "Ctrl-m"
 msgstr "Ctrl-m"
 #: cinelerra/editpopup.C:216
 msgid "Ctrl-m"
 msgstr "Ctrl-m"
@@ -5257,7 +5258,7 @@ msgstr "Espacio de color:"
 msgid "Flipbook..."
 msgstr "Flipbook ..."
 
 msgid "Flipbook..."
 msgstr "Flipbook ..."
 
-#: cinelerra/floatauto.C:436 plugins/titler/titlerwindow.C:684
+#: cinelerra/floatauto.C:436 plugins/titler/titlerwindow.C:685
 msgid "Smooth"
 msgstr "Suavizar"
 
 msgid "Smooth"
 msgstr "Suavizar"
 
@@ -5473,12 +5474,12 @@ msgstr "Mayús-F2"
 msgid "write_frame: incomplete frame received.\n"
 msgstr "escribir_fotograma: fotograma incompleto recibido\n"
 
 msgid "write_frame: incomplete frame received.\n"
 msgstr "escribir_fotograma: fotograma incompleto recibido\n"
 
-#: cinelerra/indexfile.C:485
+#: cinelerra/indexfile.C:489
 #, c-format
 msgid "Creating %s."
 msgstr "Creando %s."
 
 #, c-format
 msgid "Creating %s."
 msgstr "Creando %s."
 
-#: cinelerra/indexfile.C:652
+#: cinelerra/indexfile.C:656
 #, c-format
 msgid "IndexFile::draw_index: index has 0 zoom\n"
 msgstr "Indexfile::draw_index: el index tiene 0 zoom\n"
 #, c-format
 msgid "IndexFile::draw_index: index has 0 zoom\n"
 msgstr "Indexfile::draw_index: el index tiene 0 zoom\n"
@@ -5876,9 +5877,6 @@ msgstr "Cargar copia de seguridad"
 msgid "Load strategy:"
 msgstr "Estrategia de inserción:"
 
 msgid "Load strategy:"
 msgstr "Estrategia de inserción:"
 
-msgid "Insertion strategy:"
-msgstr "Estrategia de inserción:"
-
 #: cinelerra/loadmode.C:29
 msgid "EDL strategy:"
 msgstr "Estrategia EDL:"
 #: cinelerra/loadmode.C:29
 msgid "EDL strategy:"
 msgstr "Estrategia EDL:"
@@ -5911,10 +5909,6 @@ msgstr "Pegar sobre la selección/en el punto de inserción"
 msgid "Create new resources only"
 msgstr "Crear solo recursos nuevos"
 
 msgid "Create new resources only"
 msgstr "Crear solo recursos nuevos"
 
-#: cinelerra/loadmode.C:55
-msgid "Nest sequence"
-msgstr "Anidar secuencia"
-
 #: cinelerra/loadmode.C:56
 msgid "Nested"
 msgstr "Anidado"
 #: cinelerra/loadmode.C:56
 msgid "Nested"
 msgstr "Anidado"
@@ -6477,7 +6471,7 @@ msgstr "Cargar recientes..."
 msgid "%s ETA: %s"
 msgstr "%s tiempo estimado: %s"
 
 msgid "%s ETA: %s"
 msgstr "%s tiempo estimado: %s"
 
-#: cinelerra/mainsession.C:641 cinelerra/mwindow.C:3980
+#: cinelerra/mainsession.C:645 cinelerra/mwindow.C:3984
 #: cinelerra/mwindowedit.C:2155
 #, c-format
 msgid "Clip %d"
 #: cinelerra/mwindowedit.C:2155
 #, c-format
 msgid "Clip %d"
@@ -6792,90 +6786,90 @@ msgstr "ajuste de selección de mezclador cancelado"
 msgid "Error in match render."
 msgstr "Error en ajuste de renderizado."
 
 msgid "Error in match render."
 msgstr "Error en ajuste de renderizado."
 
-#: cinelerra/mwindow.C:646
+#: cinelerra/mwindow.C:648
 #, c-format
 msgid "MWindow::init_plugins: can't open plugin index: %s\n"
 msgstr "MWindow::init_plugins: no se abrir el índice del complemento: %s\n"
 
 #, c-format
 msgid "MWindow::init_plugins: can't open plugin index: %s\n"
 msgstr "MWindow::init_plugins: no se abrir el índice del complemento: %s\n"
 
-#: cinelerra/mwindow.C:668
+#: cinelerra/mwindow.C:670
 #, c-format
 msgid "MWindow::init_plugins: can't %s plugin index: %s\n"
 msgstr "MWindow::init_plugins: no se puede %s el índice del complemento: %s\n"
 
 #, c-format
 msgid "MWindow::init_plugins: can't %s plugin index: %s\n"
 msgstr "MWindow::init_plugins: no se puede %s el índice del complemento: %s\n"
 
-#: cinelerra/mwindow.C:670 cinelerra/mwindow.C:718
+#: cinelerra/mwindow.C:672 cinelerra/mwindow.C:721
 msgid "create"
 msgstr "crear"
 
 msgid "create"
 msgstr "crear"
 
-#: cinelerra/mwindow.C:699
+#: cinelerra/mwindow.C:702
 #, c-format
 msgid "MWindow::init_ladspa_plugins: can't open ladspa plugin index: %s\n"
 msgstr "MWindow::init_ladspa_index: no se puede abrir el índice del complemento ladspa: %s\n"
 
 #, c-format
 msgid "MWindow::init_ladspa_plugins: can't open ladspa plugin index: %s\n"
 msgstr "MWindow::init_ladspa_index: no se puede abrir el índice del complemento ladspa: %s\n"
 
-#: cinelerra/mwindow.C:716
+#: cinelerra/mwindow.C:719
 #, c-format
 msgid "MWindow::init_ladspa_plugins: can't %s ladspa plugin index: %s\n"
 msgstr "MWindow::init_ladspa_index: no se puede %s el índice del complemento ladspa: %s\n"
 
 #, c-format
 msgid "MWindow::init_ladspa_plugins: can't %s ladspa plugin index: %s\n"
 msgstr "MWindow::init_ladspa_index: no se puede %s el índice del complemento ladspa: %s\n"
 
-#: cinelerra/mwindow.C:1097
+#: cinelerra/mwindow.C:1101
 #, c-format
 msgid "MWindow::init_theme: prefered theme %s not found.\n"
 msgstr "MWindow::init_theme: tema preferido %s no encontrado\n"
 
 #, c-format
 msgid "MWindow::init_theme: prefered theme %s not found.\n"
 msgstr "MWindow::init_theme: tema preferido %s no encontrado\n"
 
-#: cinelerra/mwindow.C:1102
+#: cinelerra/mwindow.C:1106
 #, c-format
 msgid "MWindow::init_theme: trying default theme %s\n"
 msgstr "MWindow::init_theme: tratar el tema por defecto %s\n"
 
 #, c-format
 msgid "MWindow::init_theme: trying default theme %s\n"
 msgstr "MWindow::init_theme: tratar el tema por defecto %s\n"
 
-#: cinelerra/mwindow.C:1112
+#: cinelerra/mwindow.C:1116
 #, c-format
 msgid "MWindow::init_theme: theme_plugin not found.\n"
 msgstr "MWindow::init_theme: no se encontró theme_plugin\n"
 
 #, c-format
 msgid "MWindow::init_theme: theme_plugin not found.\n"
 msgstr "MWindow::init_theme: no se encontró theme_plugin\n"
 
-#: cinelerra/mwindow.C:1118
+#: cinelerra/mwindow.C:1122
 #, c-format
 msgid "MWindow::init_theme: unable to load theme %s\n"
 msgstr "MWindow::init_theme: no puede cargar el tema %s\n"
 
 #, c-format
 msgid "MWindow::init_theme: unable to load theme %s\n"
 msgstr "MWindow::init_theme: no puede cargar el tema %s\n"
 
-#: cinelerra/mwindow.C:1357 cinelerra/zwindow.C:275
+#: cinelerra/mwindow.C:1361 cinelerra/zwindow.C:275
 #, c-format
 msgid "Mixer %d"
 msgstr "Mezclador %d"
 
 #, c-format
 msgid "Mixer %d"
 msgstr "Mezclador %d"
 
-#: cinelerra/mwindow.C:1403
+#: cinelerra/mwindow.C:1407
 msgid "create mixers"
 msgstr "crear mezcladores"
 
 msgid "create mixers"
 msgstr "crear mezcladores"
 
-#: cinelerra/mwindow.C:1769
+#: cinelerra/mwindow.C:1773
 msgid "multiple video tracks"
 msgstr "múltiples pistas de vídeo"
 
 msgid "multiple video tracks"
 msgstr "múltiples pistas de vídeo"
 
-#: cinelerra/mwindow.C:1781
+#: cinelerra/mwindow.C:1785
 msgid "crosses edits"
 msgstr "cruza ediciones"
 
 msgid "crosses edits"
 msgstr "cruza ediciones"
 
-#: cinelerra/mwindow.C:1783
+#: cinelerra/mwindow.C:1787
 msgid "not asset"
 msgstr "no es un recurso"
 
 msgid "not asset"
 msgstr "no es un recurso"
 
-#: cinelerra/mwindow.C:1802
+#: cinelerra/mwindow.C:1806
 msgid "no file"
 msgstr "ningún archivo"
 
 msgid "no file"
 msgstr "ningún archivo"
 
-#: cinelerra/mwindow.C:1808
+#: cinelerra/mwindow.C:1812
 msgid "db failed"
 msgstr "db fracasado"
 
 msgid "db failed"
 msgstr "db fracasado"
 
-#: cinelerra/mwindow.C:1812
+#: cinelerra/mwindow.C:1816
 #, c-format
 msgid "put_commercial: %s"
 msgstr "put_commercial: %s"
 
 #, c-format
 msgid "put_commercial: %s"
 msgstr "put_commercial: %s"
 
-#: cinelerra/mwindow.C:1975
+#: cinelerra/mwindow.C:1979
 #, c-format
 msgid "Loading %s"
 msgstr "Cargando %s"
 
 #, c-format
 msgid "Loading %s"
 msgstr "Cargando %s"
 
-#: cinelerra/mwindow.C:1987
+#: cinelerra/mwindow.C:1991
 #, c-format
 msgid ""
 "%s's resolution is %dx%d.\n"
 #, c-format
 msgid ""
 "%s's resolution is %dx%d.\n"
@@ -6885,7 +6879,7 @@ msgstr ""
 "\n"
 "Es posible que las imágenes con dimensiones impares no se decodifiquen correctamente."
 
 "\n"
 "Es posible que las imágenes con dimensiones impares no se decodifiquen correctamente."
 
-#: cinelerra/mwindow.C:1994
+#: cinelerra/mwindow.C:1998
 #, c-format
 msgid ""
 "%s's index was built for program number %d\n"
 #, c-format
 msgid ""
 "%s's index was built for program number %d\n"
@@ -6896,16 +6890,16 @@ msgstr ""
 "Preferencias de reproducción es %d.\n"
 "  Usando programa %d."
 
 "Preferencias de reproducción es %d.\n"
 "  Usando programa %d."
 
-#: cinelerra/mwindow.C:2028 cinelerra/mwindow.C:2029
+#: cinelerra/mwindow.C:2032 cinelerra/mwindow.C:2033
 #, c-format
 msgid "Failed to open %s"
 msgstr "Fracaso al abrir %s"
 
 #, c-format
 msgid "Failed to open %s"
 msgstr "Fracaso al abrir %s"
 
-#: cinelerra/mwindow.C:2070
+#: cinelerra/mwindow.C:2074
 msgid "'s format couldn't be determined."
 msgstr "el formato 's no se pudo determinar."
 
 msgid "'s format couldn't be determined."
 msgstr "el formato 's no se pudo determinar."
 
-#: cinelerra/mwindow.C:2121
+#: cinelerra/mwindow.C:2125
 #, c-format
 msgid ""
 "XML file %s\n"
 #, c-format
 msgid ""
 "XML file %s\n"
@@ -6914,12 +6908,12 @@ msgstr ""
 "Archivo XML %s\n"
 " no es de cinelerra."
 
 "Archivo XML %s\n"
 " no es de cinelerra."
 
-#: cinelerra/mwindow.C:2123
+#: cinelerra/mwindow.C:2127
 #, c-format
 msgid "Unknown %s"
 msgstr "Desconocido %s"
 
 #, c-format
 msgid "Unknown %s"
 msgstr "Desconocido %s"
 
-#: cinelerra/mwindow.C:2130
+#: cinelerra/mwindow.C:2134
 #, c-format
 msgid ""
 "Warning: XML from cinelerra version %s\n"
 #, c-format
 msgid ""
 "Warning: XML from cinelerra version %s\n"
@@ -6928,7 +6922,7 @@ msgstr ""
 "Cuidado: XML de la versión %s de cinelerra\n"
 "Datos de la sesión pueden ser incompatibles."
 
 "Cuidado: XML de la versión %s de cinelerra\n"
 "Datos de la sesión pueden ser incompatibles."
 
-#: cinelerra/mwindow.C:2187
+#: cinelerra/mwindow.C:2191
 #, c-format
 msgid ""
 "Error: Unable to load xml:\n"
 #, c-format
 msgid ""
 "Error: Unable to load xml:\n"
@@ -6937,27 +6931,27 @@ msgstr ""
 "Error: No se puede cargar el xml:\n"
 "  %s"
 
 "Error: No se puede cargar el xml:\n"
 "  %s"
 
-#: cinelerra/mwindow.C:2337
+#: cinelerra/mwindow.C:2341
 msgid "load"
 msgstr "cargar"
 
 msgid "load"
 msgstr "cargar"
 
-#: cinelerra/mwindow.C:2457 cinelerra/mwindow.C:2572
+#: cinelerra/mwindow.C:2461 cinelerra/mwindow.C:2576
 msgid "proxy"
 msgstr "proxy"
 
 msgid "proxy"
 msgstr "proxy"
 
-#: cinelerra/mwindow.C:2595 cinelerra/mwindow.C:2610
+#: cinelerra/mwindow.C:2599 cinelerra/mwindow.C:2614
 #, c-format
 msgid ""
 "The %s '%s' in file '%s' is not part of your installation of Cinelerra.\n"
 "The project won't be rendered as it was meant and Cinelerra might crash.\n"
 msgstr "El %s '%s' en el archivo '%s' no es parte de la instalación de Cinelerra.  NLa proyecto no se rindió ya que estaba destinado y Cinelerra puede bloquearse.\n"
 
 #, c-format
 msgid ""
 "The %s '%s' in file '%s' is not part of your installation of Cinelerra.\n"
 "The project won't be rendered as it was meant and Cinelerra might crash.\n"
 msgstr "El %s '%s' en el archivo '%s' no es parte de la instalación de Cinelerra.  NLa proyecto no se rindió ya que estaba destinado y Cinelerra puede bloquearse.\n"
 
-#: cinelerra/mwindow.C:2638
+#: cinelerra/mwindow.C:2642
 #, c-format
 msgid "MWindow::init_shm: couldn't open %s for reading.\n"
 msgstr "MWindow::init_shm: no se pudo abrir %s para lectura.\n"
 
 #, c-format
 msgid "MWindow::init_shm: couldn't open %s for reading.\n"
 msgstr "MWindow::init_shm: no se pudo abrir %s para lectura.\n"
 
-#: cinelerra/mwindow.C:2645
+#: cinelerra/mwindow.C:2649
 #, c-format
 msgid ""
 "MWindow::init_shm: %s is %p.\n"
 #, c-format
 msgid ""
 "MWindow::init_shm: %s is %p.\n"
@@ -6972,88 +6966,88 @@ msgstr ""
 "antes de intentar iniciar cinelerra.\n"
 "Debería ser al menos 0x%jx para Cinelerra.\n"
 
 "antes de intentar iniciar cinelerra.\n"
 "Debería ser al menos 0x%jx para Cinelerra.\n"
 
-#: cinelerra/mwindow.C:2676
+#: cinelerra/mwindow.C:2680
 msgid "Initializing Plugins"
 msgstr "Iniciando Plugins"
 
 msgid "Initializing Plugins"
 msgstr "Iniciando Plugins"
 
-#: cinelerra/mwindow.C:2683
+#: cinelerra/mwindow.C:2687
 msgid "Initializing GUI"
 msgstr "Iniciando GUI"
 
 msgid "Initializing GUI"
 msgstr "Iniciando GUI"
 
-#: cinelerra/mwindow.C:2691
+#: cinelerra/mwindow.C:2695
 msgid "Initializing Fonts"
 msgstr "Iniciando Fuentes"
 
 msgid "Initializing Fonts"
 msgstr "Iniciando Fuentes"
 
-#: cinelerra/mwindow.C:3921
+#: cinelerra/mwindow.C:3925
 msgid "open edl"
 msgstr "abrir edl"
 
 msgid "open edl"
 msgstr "abrir edl"
 
-#: cinelerra/mwindow.C:3930
+#: cinelerra/mwindow.C:3934
 #, c-format
 msgid "Warning: Asset not updated: %s"
 msgstr "Advertencia: activo no actualizado: %s"
 
 #, c-format
 msgid "Warning: Asset not updated: %s"
 msgstr "Advertencia: activo no actualizado: %s"
 
-#: cinelerra/mwindow.C:3950
+#: cinelerra/mwindow.C:3954
 #, c-format
 msgid "Nested_%02d%02d%02d-%02d%02d%02d_"
 msgstr "Anidado_%02d%02d%02d-%02d%02d%02d_"
 
 #, c-format
 msgid "Nested_%02d%02d%02d-%02d%02d%02d_"
 msgstr "Anidado_%02d%02d%02d-%02d%02d%02d_"
 
-#: cinelerra/mwindow.C:3961
+#: cinelerra/mwindow.C:3965
 msgid "clip2media"
 msgstr "clip2deMedios"
 
 msgid "clip2media"
 msgstr "clip2deMedios"
 
-#: cinelerra/mwindow.C:3991
+#: cinelerra/mwindow.C:3995
 #, c-format
 msgid "From: %s"
 msgstr "Desde: %s"
 
 #, c-format
 msgid "From: %s"
 msgstr "Desde: %s"
 
-#: cinelerra/mwindow.C:3993
+#: cinelerra/mwindow.C:3997
 msgid "media2clip"
 msgstr "medios2clip"
 
 msgid "media2clip"
 msgstr "medios2clip"
 
-#: cinelerra/mwindow.C:4007 cinelerra/mwindow.C:4019
+#: cinelerra/mwindow.C:4011 cinelerra/mwindow.C:4023
 msgid "reference"
 msgstr "referencia"
 
 msgid "reference"
 msgstr "referencia"
 
-#: cinelerra/mwindow.C:4122
+#: cinelerra/mwindow.C:4126
 #, c-format
 msgid "Couldn't open %s for writing."
 msgstr "No se pudo abrir %s para la escritura."
 
 #, c-format
 msgid "Couldn't open %s for writing."
 msgstr "No se pudo abrir %s para la escritura."
 
-#: cinelerra/mwindow.C:4175
+#: cinelerra/mwindow.C:4179
 msgid "perpetual load"
 msgstr "carga perpetua"
 
 msgid "perpetual load"
 msgstr "carga perpetua"
 
-#: cinelerra/mwindow.C:4201
+#: cinelerra/mwindow.C:4205
 #, c-format
 msgid "Copying: %s\n"
 msgstr "Copiando: %s\n"
 
 #, c-format
 msgid "Copying: %s\n"
 msgstr "Copiando: %s\n"
 
-#: cinelerra/mwindow.C:4288
+#: cinelerra/mwindow.C:4292
 #, c-format
 msgid "Saving to %s:\n"
 msgstr "Guardando a: %s\n"
 
 #, c-format
 msgid "Saving to %s:\n"
 msgstr "Guardando a: %s\n"
 
-#: cinelerra/mwindow.C:4350 cinelerra/savefile.C:95 cinelerra/savefile.C:202
+#: cinelerra/mwindow.C:4354 cinelerra/savefile.C:95 cinelerra/savefile.C:202
 #, c-format
 msgid "\"%s\" %dC written"
 msgstr "\"%s\" %dC escrito"
 
 #, c-format
 msgid "\"%s\" %dC written"
 msgstr "\"%s\" %dC escrito"
 
-#: cinelerra/mwindow.C:4357 cinelerra/savefile.C:190
+#: cinelerra/mwindow.C:4361 cinelerra/savefile.C:190
 #, c-format
 msgid "Couldn't open %s."
 msgstr "No se pudo abrir %s."
 
 #, c-format
 msgid "Couldn't open %s."
 msgstr "No se pudo abrir %s."
 
-#: cinelerra/mwindow.C:4532
+#: cinelerra/mwindow.C:4536
 msgid "remove assets"
 msgstr "eliminar clips"
 
 msgid "remove assets"
 msgstr "eliminar clips"
 
-#: cinelerra/mwindow.C:4757
+#: cinelerra/mwindow.C:4761
 #, c-format
 msgid "Using %s"
 msgstr "Utilizando %s"
 
 #, c-format
 msgid "Using %s"
 msgstr "Utilizando %s"
 
-#: cinelerra/mwindow.C:4894 cinelerra/mwindowedit.C:193
+#: cinelerra/mwindow.C:4898 cinelerra/mwindowedit.C:193
 #: cinelerra/mwindowedit.C:240 cinelerra/preferencesthread.C:288
 msgid ""
 "This project's dimensions are not multiples of 4 so\n"
 #: cinelerra/mwindowedit.C:240 cinelerra/preferencesthread.C:288
 msgid ""
 "This project's dimensions are not multiples of 4 so\n"
@@ -7062,7 +7056,7 @@ msgstr ""
 "Las dimensiones de este proyecto no son múltiplos de 4 por lo\n"
 " cual no puede ser renderizado con OpenGL."
 
 "Las dimensiones de este proyecto no son múltiplos de 4 por lo\n"
 " cual no puede ser renderizado con OpenGL."
 
-#: cinelerra/mwindow.C:5011
+#: cinelerra/mwindow.C:5015
 msgid "select asset"
 msgstr "selecionar clip"
 
 msgid "select asset"
 msgstr "selecionar clip"
 
@@ -7798,15 +7792,15 @@ msgstr "Pistas:"
 
 #: cinelerra/new.C:366 cinelerra/recordgui.C:233 cinelerra/setformat.C:307
 msgid "Samplerate:"
 
 #: cinelerra/new.C:366 cinelerra/recordgui.C:233 cinelerra/setformat.C:307
 msgid "Samplerate:"
-msgstr "Velocidad de muestreo:"
+msgstr "Muestras Hz:"
 
 #: cinelerra/new.C:394 cinelerra/recordgui.C:246
 msgid "Framerate:"
 
 #: cinelerra/new.C:394 cinelerra/recordgui.C:246
 msgid "Framerate:"
-msgstr "Fotogramas x seg:"
+msgstr "FPS:"
 
 #: cinelerra/new.C:418 cinelerra/setformat.C:360
 msgid "Canvas size:"
 
 #: cinelerra/new.C:418 cinelerra/setformat.C:360
 msgid "Canvas size:"
-msgstr "Tamaño del lienzo:"
+msgstr "Resolución:"
 
 #: cinelerra/new.C:418
 msgid "Track size:"
 
 #: cinelerra/new.C:418
 msgid "Track size:"
@@ -7814,11 +7808,11 @@ msgstr "Tamaño Pista:"
 
 #: cinelerra/new.C:435 cinelerra/scale.C:250 cinelerra/setformat.C:421
 msgid "Aspect ratio:"
 
 #: cinelerra/new.C:435 cinelerra/scale.C:250 cinelerra/setformat.C:421
 msgid "Aspect ratio:"
-msgstr "Relación de aspecto:"
+msgstr "Aspecto:"
 
 #: cinelerra/new.C:453 cinelerra/setformat.C:446
 msgid "Interlace mode:"
 
 #: cinelerra/new.C:453 cinelerra/setformat.C:446
 msgid "Interlace mode:"
-msgstr "Modo de entrelazado:"
+msgstr "Entrelazado:"
 
 #: cinelerra/new.C:468
 msgid "Create project folder in:"
 
 #: cinelerra/new.C:468
 msgid "Create project folder in:"
@@ -7838,7 +7832,7 @@ msgstr "Nombre del proyecto:"
 
 #: cinelerra/new.C:925
 msgid "Auto aspect ratio"
 
 #: cinelerra/new.C:925
 msgid "Auto aspect ratio"
-msgstr "Relación de aspecto Automatica"
+msgstr "Relación de Aspecto Automática"
 
 #: cinelerra/new.C:945 cinelerra/resizetrackthread.C:189
 #: cinelerra/setformat.C:822 plugins/photoscale/photoscale.C:198
 
 #: cinelerra/new.C:945 cinelerra/resizetrackthread.C:189
 #: cinelerra/setformat.C:822 plugins/photoscale/photoscale.C:198
@@ -8106,7 +8100,7 @@ msgstr "Retroceder rápido ( + o Alt-p )"
 
 #: cinelerra/playtransport.C:409
 msgid "Normal reverse ( 6 or Alt-o )"
 
 #: cinelerra/playtransport.C:409
 msgid "Normal reverse ( 6 or Alt-o )"
-msgstr "Retroceder normal (6 o Alt-o )"
+msgstr "Retroceder normal ( 6 o Alt-o )"
 
 #: cinelerra/playtransport.C:421
 msgid "Frame reverse ( 4 or Alt-u )"
 
 #: cinelerra/playtransport.C:421
 msgid "Frame reverse ( 4 or Alt-u )"
@@ -8122,7 +8116,7 @@ msgstr "Avanzar un fotograma ( 1 o Alt-j )"
 
 #: cinelerra/playtransport.C:465
 msgid "Fast forward ( Enter or Alt-; )"
 
 #: cinelerra/playtransport.C:465
 msgid "Fast forward ( Enter or Alt-; )"
-msgstr "Avanzar Rapido (Enter o Alt-; )"
+msgstr "Avanzar Rapido ( Enter o Alt-; )"
 
 #: cinelerra/playtransport.C:488
 msgid "Stop ( 0 or Alt-m )"
 
 #: cinelerra/playtransport.C:488
 msgid "Stop ( 0 or Alt-m )"
@@ -8492,7 +8486,7 @@ msgid "Running"
 msgstr "Corriendo"
 
 #: cinelerra/recordengine.C:695 cinelerra/recordengine.C:703
 msgstr "Corriendo"
 
 #: cinelerra/recordengine.C:695 cinelerra/recordengine.C:703
-#: plugins/titler/titlerwindow.C:841
+#: plugins/titler/titlerwindow.C:842
 #, c-format
 msgid "Loop"
 msgstr "Bucle"
 #, c-format
 msgid "Loop"
 msgstr "Bucle"
@@ -9184,7 +9178,7 @@ msgstr ": Poner Formado"
 
 #: cinelerra/setformat.C:324
 msgid "Channel positions:"
 
 #: cinelerra/setformat.C:324
 msgid "Channel positions:"
-msgstr "Posiciones del canal:"
+msgstr "Posiciones de los Canales:"
 
 #: cinelerra/setformat.C:607
 #, c-format
 
 #: cinelerra/setformat.C:607
 #, c-format
@@ -9337,7 +9331,7 @@ msgstr ""
 "no puede abrir: \"%s\"\n"
 "%s"
 
 "no puede abrir: \"%s\"\n"
 "%s"
 
-#: cinelerra/swindow.C:851
+#: cinelerra/swindow.C:854
 #, c-format
 msgid ""
 "Unable to open %s:\n"
 #, c-format
 msgid ""
 "Unable to open %s:\n"
@@ -9346,11 +9340,11 @@ msgstr ""
 "No se puede abrir %s:\n"
 "%m"
 
 "No se puede abrir %s:\n"
 "%m"
 
-#: cinelerra/swindow.C:1010
+#: cinelerra/swindow.C:1013
 msgid "SubTitle..."
 msgstr "SubTítulo..."
 
 msgid "SubTitle..."
 msgstr "SubTítulo..."
 
-#: cinelerra/swindow.C:1010
+#: cinelerra/swindow.C:1013
 msgid "Alt-y"
 msgstr "Alt-y"
 
 msgid "Alt-y"
 msgstr "Alt-y"
 
@@ -9416,11 +9410,11 @@ msgstr "Próxima sugerencia"
 msgid "Previous tip"
 msgstr "Sugerencia anterior"
 
 msgid "Previous tip"
 msgstr "Sugerencia anterior"
 
-#: cinelerra/trackcanvas.C:4630
+#: cinelerra/trackcanvas.C:4632
 msgid "keyframe"
 msgstr "fotograma clave"
 
 msgid "keyframe"
 msgstr "fotograma clave"
 
-#: cinelerra/trackcanvas.C:4838
+#: cinelerra/trackcanvas.C:4840
 msgid "hard_edge"
 msgstr "borde_duro"
 
 msgid "hard_edge"
 msgstr "borde_duro"
 
@@ -9555,23 +9549,23 @@ msgstr "Default B Pantalla:"
 msgid "use direct x11 render if possible"
 msgstr "si es posible, utilizar DiretX11 para renderizar"
 
 msgid "use direct x11 render if possible"
 msgstr "si es posible, utilizar DiretX11 para renderizar"
 
-#: cinelerra/vdeviceprefs.C:651
+#: cinelerra/vdeviceprefs.C:653
 msgid "Nearest Neighbor"
 msgstr "Nearest Neighbor"
 
 msgid "Nearest Neighbor"
 msgstr "Nearest Neighbor"
 
-#: cinelerra/vdeviceprefs.C:652
+#: cinelerra/vdeviceprefs.C:654
 msgid "BiCubic / BiCubic"
 msgstr "BiCubic / BiCubin"
 
 msgid "BiCubic / BiCubic"
 msgstr "BiCubic / BiCubin"
 
-#: cinelerra/vdeviceprefs.C:653
+#: cinelerra/vdeviceprefs.C:655
 msgid "BiCubic / BiLinear"
 msgstr "BiCubic / BiLinear"
 
 msgid "BiCubic / BiLinear"
 msgstr "BiCubic / BiLinear"
 
-#: cinelerra/vdeviceprefs.C:654
+#: cinelerra/vdeviceprefs.C:656
 msgid "BiLinear / BiLinear"
 msgstr "Bilinear / Bilinear"
 
 msgid "BiLinear / BiLinear"
 msgstr "Bilinear / Bilinear"
 
-#: cinelerra/vdeviceprefs.C:655
+#: cinelerra/vdeviceprefs.C:657
 msgid "Lanczos / Lanczos"
 msgstr "Lanczos / Lanczos"
 
 msgid "Lanczos / Lanczos"
 msgstr "Lanczos / Lanczos"
 
@@ -9981,7 +9975,7 @@ msgstr " Selección de Mascara"
 #: plugins/bluebanana/bluebananawindow.C:2021
 #, c-format
 msgid "Unknown colormodel in BluebananaA2Sel:update()\n"
 #: plugins/bluebanana/bluebananawindow.C:2021
 #, c-format
 msgid "Unknown colormodel in BluebananaA2Sel:update()\n"
-msgstr "Modelo de color desconocido en BluebananaA2Sel: update ()\n"
+msgstr "Modelo de color desconocido en BluebananaA2Sel: update()\n"
 
 #: plugins/bluebanana/bluebananawindow.C:2095
 msgid "Combine Selection"
 
 #: plugins/bluebanana/bluebananawindow.C:2095
 msgid "Combine Selection"
@@ -10571,7 +10565,7 @@ msgstr "Dn"
 #: plugins/findobj/findobjwindow.C:563 plugins/findobj/findobjwindow.C:605
 #: plugins/mandelcuda/mandelbrotwindow.C:158
 #: plugins/nbodycuda/nbodywindow.C:175 plugins/sketcher/sketcherwindow.C:1282
 #: plugins/findobj/findobjwindow.C:563 plugins/findobj/findobjwindow.C:605
 #: plugins/mandelcuda/mandelbrotwindow.C:158
 #: plugins/nbodycuda/nbodywindow.C:175 plugins/sketcher/sketcherwindow.C:1282
-#: plugins/titler/titlerwindow.C:1229 plugins/tracer/tracerwindow.C:528
+#: plugins/titler/titlerwindow.C:1230 plugins/tracer/tracerwindow.C:528
 msgid "Drag"
 msgstr "Arrastrar"
 
 msgid "Drag"
 msgstr "Arrastrar"
 
@@ -10588,7 +10582,7 @@ msgid "Crop"
 msgstr "Recortar"
 
 #: plugins/crop/cropwin.C:74 plugins/slide/slide.C:50
 msgstr "Recortar"
 
 #: plugins/crop/cropwin.C:74 plugins/slide/slide.C:50
-#: plugins/titler/titlerwindow.C:1143 plugins/wipe/wipe.C:49
+#: plugins/titler/titlerwindow.C:1144 plugins/wipe/wipe.C:49
 msgid "Left"
 msgstr "Izquierda"
 
 msgid "Left"
 msgstr "Izquierda"
 
@@ -10606,12 +10600,12 @@ msgstr "%"
 #: plugins/motion-hv/motionwindow-hv.C:878
 #: plugins/motion-hv/motionwindow-hv.C:884 plugins/overlay/overlay.C:171
 #: plugins/overlayaudio/overlayaudio.C:163 plugins/reroute/reroute.C:164
 #: plugins/motion-hv/motionwindow-hv.C:878
 #: plugins/motion-hv/motionwindow-hv.C:884 plugins/overlay/overlay.C:171
 #: plugins/overlayaudio/overlayaudio.C:163 plugins/reroute/reroute.C:164
-#: plugins/titler/titlerwindow.C:1187
+#: plugins/titler/titlerwindow.C:1188
 msgid "Top"
 msgstr "Superior"
 
 #: plugins/crop/cropwin.C:93 plugins/slide/slide.C:72
 msgid "Top"
 msgstr "Superior"
 
 #: plugins/crop/cropwin.C:93 plugins/slide/slide.C:72
-#: plugins/titler/titlerwindow.C:1171 plugins/wipe/wipe.C:71
+#: plugins/titler/titlerwindow.C:1172 plugins/wipe/wipe.C:71
 msgid "Right"
 msgstr "Derecha"
 
 msgid "Right"
 msgstr "Derecha"
 
@@ -10620,7 +10614,7 @@ msgstr "Derecha"
 #: plugins/motion-cv/motionwindow-cv.C:573
 #: plugins/motion-hv/motionwindow-hv.C:884 plugins/overlay/overlay.C:172
 #: plugins/overlayaudio/overlayaudio.C:164 plugins/reroute/reroute.C:165
 #: plugins/motion-cv/motionwindow-cv.C:573
 #: plugins/motion-hv/motionwindow-hv.C:884 plugins/overlay/overlay.C:172
 #: plugins/overlayaudio/overlayaudio.C:164 plugins/reroute/reroute.C:165
-#: plugins/titler/titlerwindow.C:1215
+#: plugins/titler/titlerwindow.C:1216
 msgid "Bottom"
 msgstr "Inferior"
 
 msgid "Bottom"
 msgstr "Inferior"
 
@@ -10774,7 +10768,7 @@ msgstr "Nivel:"
 
 #: plugins/denoisefft/denoisefft.C:245
 msgid "Denoise power:"
 
 #: plugins/denoisefft/denoisefft.C:245
 msgid "Denoise power:"
-msgstr "Denoise power:"
+msgstr "Potencia de Limpieza:"
 
 #: plugins/denoisefft/denoisefft.C:248
 msgid "Number of samples for reference:"
 
 #: plugins/denoisefft/denoisefft.C:248
 msgid "Number of samples for reference:"
@@ -10786,7 +10780,7 @@ msgstr "El fotograma clave es el comienzo de la referencia"
 
 #: plugins/denoisefft/denoisefft.C:313
 msgid "DenoiseFFT"
 
 #: plugins/denoisefft/denoisefft.C:313
 msgid "DenoiseFFT"
-msgstr "DenoiseFFT"
+msgstr "LimpiarFFT"
 
 #: plugins/denoisemjpeg/denoisemjpeg.C:270
 msgid "Progressive"
 
 #: plugins/denoisemjpeg/denoisemjpeg.C:270
 msgid "Progressive"
@@ -10833,7 +10827,7 @@ msgstr "Retrasar fotogramas:"
 
 #: plugins/denoisemjpeg/denoisemjpeg.C:449
 msgid "Denoise video2"
 
 #: plugins/denoisemjpeg/denoisemjpeg.C:449
 msgid "Denoise video2"
-msgstr "Denoise vídeo2"
+msgstr "Limpiar vídeo2"
 
 #: plugins/denoiseseltempavg/seltempavg.C:120
 msgid "Selective Temporal Averaging"
 
 #: plugins/denoiseseltempavg/seltempavg.C:120
 msgid "Selective Temporal Averaging"
@@ -10926,7 +10920,7 @@ msgstr "Fotogramas a acumular:"
 
 #: plugins/denoisevideo/denoisevideo.C:416
 msgid "Denoise video"
 
 #: plugins/denoisevideo/denoisevideo.C:416
 msgid "Denoise video"
-msgstr "Vídeo Denoise"
+msgstr "Limpiar Vídeo"
 
 #: plugins/descratch/descratch.C:43
 msgid "DeScratch"
 
 #: plugins/descratch/descratch.C:43
 msgid "DeScratch"
@@ -11412,7 +11406,7 @@ msgstr "Gama:"
 #: plugins/histogram_bezier/bistogramwindow.C:676 plugins/ivtc/ivtc.C:38
 #: plugins/ivtc/ivtcwindow.C:34
 msgid "Automatic"
 #: plugins/histogram_bezier/bistogramwindow.C:676 plugins/ivtc/ivtc.C:38
 #: plugins/ivtc/ivtcwindow.C:34
 msgid "Automatic"
-msgstr "Automático"
+msgstr "Auto"
 
 #: plugins/gamma/gammawindow.C:278 plugins/histogram/histogramwindow.C:907
 #: plugins/threshold/thresholdwindow.C:102
 
 #: plugins/gamma/gammawindow.C:278 plugins/histogram/histogramwindow.C:907
 #: plugins/threshold/thresholdwindow.C:102
@@ -13439,68 +13433,68 @@ msgstr "medios para el fondo"
 msgid "Select background media path"
 msgstr "Seleccionar la ruta del fondo del medio de comunicación"
 
 msgid "Select background media path"
 msgstr "Seleccionar la ruta del fondo del medio de comunicación"
 
-#: plugins/titler/titlerwindow.C:700
+#: plugins/titler/titlerwindow.C:701
 msgid "Bold"
 msgstr "Negrita"
 
 msgid "Bold"
 msgstr "Negrita"
 
-#: plugins/titler/titlerwindow.C:716
+#: plugins/titler/titlerwindow.C:717
 msgid "Italic"
 msgstr "Cursiva"
 
 msgid "Italic"
 msgstr "Cursiva"
 
-#: plugins/titler/titlerwindow.C:777
+#: plugins/titler/titlerwindow.C:778
 msgid "Text Color"
 msgstr "Color de texto"
 
 msgid "Text Color"
 msgstr "Color de texto"
 
-#: plugins/titler/titlerwindow.C:801
+#: plugins/titler/titlerwindow.C:802
 msgid "Outline Color"
 msgstr "Color del contorno"
 
 msgid "Outline Color"
 msgstr "Color del contorno"
 
-#: plugins/titler/titlerwindow.C:853
+#: plugins/titler/titlerwindow.C:854
 msgid "Stamp timecode"
 msgstr "Mostrar Código de Tiempo"
 
 msgid "Stamp timecode"
 msgstr "Mostrar Código de Tiempo"
 
-#: plugins/titler/titlerwindow.C:1009
+#: plugins/titler/titlerwindow.C:1010
 #, c-format
 msgid "chars: %d  "
 msgstr "caracteres: %d  "
 
 #, c-format
 msgid "chars: %d  "
 msgstr "caracteres: %d  "
 
-#: plugins/titler/titlerwindow.C:1157
+#: plugins/titler/titlerwindow.C:1158
 msgid "Center"
 msgstr "Centro"
 
 msgid "Center"
 msgstr "Centro"
 
-#: plugins/titler/titlerwindow.C:1201
+#: plugins/titler/titlerwindow.C:1202
 msgid "Mid"
 msgstr "Mitad"
 
 msgid "Mid"
 msgstr "Mitad"
 
-#: plugins/titler/titlerwindow.C:1269
+#: plugins/titler/titlerwindow.C:1270
 msgid "Background:"
 msgstr "Fondo:"
 
 msgid "Background:"
 msgstr "Fondo:"
 
-#: plugins/titler/titlerwindow.C:1297
+#: plugins/titler/titlerwindow.C:1298
 msgid "Loop playback"
 msgstr "Reproducción en bucle"
 
 msgid "Loop playback"
 msgstr "Reproducción en bucle"
 
-#: plugins/titler/titlerwindow.C:1340
+#: plugins/titler/titlerwindow.C:1341
 msgid "#"
 msgstr "#"
 
 msgid "#"
 msgstr "#"
 
-#: plugins/titler/titlerwindow.C:1352
+#: plugins/titler/titlerwindow.C:1353
 msgid "name"
 msgstr "nombre"
 
 msgid "name"
 msgstr "nombre"
 
-#: plugins/titler/titlerwindow.C:1409
+#: plugins/titler/titlerwindow.C:1410
 msgid "file"
 msgstr "archivo"
 
 msgid "file"
 msgstr "archivo"
 
-#: plugins/titler/titlerwindow.C:1502
+#: plugins/titler/titlerwindow.C:1503
 msgid "Color"
 msgstr "Color"
 
 msgid "Color"
 msgstr "Color"
 
-#: plugins/titler/titlerwindow.C:1560
+#: plugins/titler/titlerwindow.C:1561
 msgid "Png file"
 msgstr "Archivo PNG"
 
 msgid "Png file"
 msgstr "Archivo PNG"
 
-#: plugins/titler/titlerwindow.C:1560
+#: plugins/titler/titlerwindow.C:1561
 msgid "Png path"
 msgstr "Rutal del PNG"
 
 msgid "Png path"
 msgstr "Rutal del PNG"
 
@@ -13684,11 +13678,3 @@ msgstr "Y Ampliación:"
 #: plugins/zoomblur/zoomblur.C:352
 msgid "Zoom Blur"
 msgstr "Desenfoque Zoom"
 #: plugins/zoomblur/zoomblur.C:352
 msgid "Zoom Blur"
 msgstr "Desenfoque Zoom"
-
-#: cinelerra/editpopup.C:216
-msgid "editpopup#Mute"
-msgstr "Cortar dejando el hueco"
-
-#: cinelerra/assetpopup.C:423
-msgid "assetpopup#Paste"
-msgstr "Insertar"