... See comments #1 and #2 at
http://bugzilla.audacityteam.org/show_bug.cgi?id=1331
Don't make strange undo history if, e.g., R to record (or other keystroke
with undoable effects) interrupts a drag with undoable effects (like time
shift). Ensure that by first simulating a mouse button up event to stop the
drag, before dispatching the keystroke.
Don't crash if certain other drags, that do not have undoable effects, such
as selection or vertical ruler drag -- are interrupted by a keystroke
command (Ctrl+C in particular could cause crash). However, in these cases,
the drag is still allowed to continue.
Explanation from Roger Dannenberg: The original Nyquist language was an
extended XLISP. Now, there are two "syntaxes": Lisp and Sal. Sal is a
procedural infix language. A small compiler (written in Lisp) translates
Sal into Lisp and then the translated code runs directly on the Lisp
interpreter. You can write plug-ins in either Lisp or Sal syntax, and
there could be library code to support plug-ins and provide other
functions in the future. Sal is definitely source code and likely to be
compact. I would advise any new user to use Sal instead of Lisp, so I
expect more .sal sources in the future.
Thus keep the Sal source code in the repository and do not ignore them.
Ensures that all files that Git considers to be text will have
normalized (LF) line endings in the repository. When core.eol is set to
native (which is the default), Git will convert the line endings of
normalized files in your working directory back to your platform's
native line ending.
See also https://git-scm.com/docs/gitattributes
This repository should only contain source code and all executables
should be build from source. Thus remove the Windows executables
that were imported from the portmidi library.
The lv2 library ships some xhtml*.mod file, but they are ignored by the
*.mod rule. The *.mod rules should exclude Fortran module files, but
this repository does not ship any Fortran code. Thus just remove the
*.mod exclude rule.
The sord library contains some test files named *.out, but they are
ignored by the *.out rule.
a.out is the default file name for executables on Linux if no output
filename is specified. All executables that we build carry a name
without extension. Thus no generated file carries an .out extension.
Therefore just remove the *.out ignore rule.
Note: You can list ignored files by running
git ls-files -i --exclude-standard
Commit 9e78a41 declared isinf() as std::isinf(), because isinf() was not
declared on Ubuntu 16.04. But now the builds fail on Ubuntu <= 15.10,
because isinf() is declared there:
effects/Contrast.cpp:61:12: error: ‘constexpr bool std::isinf(double)’ conflicts with a previous declaration
using std::isinf;
^
In file included from /usr/include/features.h:364:0,
from /usr/include/assert.h:35,
from /usr/include/wx-3.0/wx/debug.h:14,
from /usr/include/wx-3.0/wx/defs.h:695,
from /usr/include/wx-3.0/wx/event.h:14,
from /usr/include/wx-3.0/wx/window.h:18,
from /usr/include/wx-3.0/wx/nonownedwnd.h:14,
from /usr/include/wx-3.0/wx/toplevel.h:20,
from /usr/include/wx-3.0/wx/dialog.h:14,
from effects/Contrast.h:12,
from effects/Contrast.cpp:13:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:201:1: note: previous declaration ‘int isinf(double)’
__MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__));
Thus use std::isinf() directly instead of declaring isinf() as
std::isinf().
* scrubbing:
Allow scrub timer interval to be 1 ms, without bogus out-of-memory warnings.
Less scrub lag: avoid redundant disk traffic in Mixer...
Less scrub lag: don't poll for available data, get woken up directly