AudioOutput: add an 'attenuate others' option for priority speakers.
TextToSpeech_macx: reimplement using NSSpeechSynthesizer.

Fixes Text-to-Speech not working on Mavericks and
avoids several deprecated API calls.
TextToSpeech_macx: fix 10.4 compatibility.

Remove @property and @synthesize to make the
code work on 10.4.

Also import AppKit.h to fix the build when
building without PCH support.
README.static.osx: remove Linux references.
TextToSpeech_macx: selectively conform to NSSpeechSynthesizerDelegate protocol.

MUSpeechSynthesizerPrivateHelper currently conforms to the
NSSpeechSynthesizerDelegate protocol, which was an informal
protocol prior to 10.6.

Our legacy universal builds currently use the ancient 10.5 SDK
and does not know of the NSSpeechSynthesizerDelegate protocol,
which was first introduced in the 10.6 SDK. Because of that, the
legacy universal build is currently broken.

To fix it, we change the code to only adhere to
NSSpeechSynthesizerDelegate via a class extension. This class
extension is only exposed to non-universal builds using the 10.6
SDK (or greater).
Bump version to 1.2.5
mumble: fix Mumble-SA-2014-001 (CVE-2014-0044).
mumble: fix Mumble-SA-2014-002 (CVE-2014-0045).
Update changelog
mumble: fix Mumble-SA-2014-001 (CVE-2014-0044).
mumble: fix Mumble-SA-2014-002 (CVE-2014-0045).
Merge v1.2.5 into master.

This brings us back to our usual snapshot
versioning scheme.
g15helper: update G15 SDK paths for OS X.

The g15helper program is currently coded against Logitech's
legacy G15 SDK. Logitech's newer SDK, which is the only one
shipped in their newer versions of Logitech Gaming Software,
is not compatible.

For OS X, the legacy SDK is still available for download
if you download the version of LGS (GamePanel 3.x) that
supports OS X 10.4 through 10.6. However, the SDK shipped
in this version of their software uses slightly different
paths than we expect.

This commit changes the paths to make sense with the SDK
shipped with the GamePanel 3.x software.
compiler.pri: tweak OS X SDK detection when building with Qt 4.

In Xcode 5, the xcrun tool includes a --show-sdk-path parameter
which, as the name implies, can be used to query the system for
a usable OS X SDK path. However, xcrun in Xcode 4 does *not*
include this parameter.

We used this parameter unconditionally, which lead to failures
when using building against Qt 4 when using Xcode 4.

This change modifies the SDK selection code to first attempt to
query for the OS X sdk using the --show-sdk-path parameter. If
that fails, we try to fall back to using a 10.8 SDK living in
a DEVELOPER_DIR found via xcode-select --print-path. If that
doesn't exist either, we warn the user and abort the build.

This should allow people to build Mumble on most systems without
having to resort to manual .pro file editing.
Make banlist filter case insensitive (#1011)
Fix multi-track recordings going out of alignment on long recordings

Previously the wall clock was used to align speakers. As this didn't
allow for reliable detection of silence between outputs a heuristic
was used which only started adding silence after 100ms.

This patch makes the mixer keep track of the absolute number of samples
requested from it. This number is then forwarded to the recorder with
each addBuffer to allow for sample precise alignment.

To get the absolute sample number when starting the recording a thread-safe
way to retrieve this counter from the outside was added using a new
mixer lock.
Fix recorder crash due to use after free on user object.

The recorder used a ClientUser object pointer attached to the RecordBuffer
to be able to access a users session id and username . If the user joined
a server, made a noise and immediately left the server before the
RecordBuffer from the noise was processed the referenced ClientUser was
already deleted which crashed the client.

This fix retools RecordInfo and RecordBuffer to carry the information
previously needed from the ClientUser so that inside of the recorder
thread no dependencies to the ClientUser exist.
Refactoring of VoiceRecord.h/cpp according to new coding guidelines.
Modify VoiceRecorder to be able to properly abort a recording.

Previously huge amounts of silence were written in one step.
For long multi-channel recordings a joining user might cause
hours of silence to be written to disk before the user regained
the ability to abort a recording.

Now the recorder will only write up to 1s of silence per iteration.
If more silence has to be written the corresponding RecordBuffer
is re-queued for a later iteration enabling a timely abort.

This channel also includes some small refactoring for increasing
the readability of the recorder and to remove some warnings.
Fix "Inverted samples in WAV recording when clipping" #971

When libsndfile is handed float data but asked to write it in a
non-float format by default wrapping behavior occurs. This lead to
very audible artifacts in recordings for those file types.

This fix enables hard-clipping behavior in libsndfile for non-float
file formats by setting the SFC_SET_CLIPPING property to true.