This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
File::getContainerForSecurityApplicationGroupIdentifier will return the
path to a container which is shared between all apps using the specified
app group ID. This might be useful if you need to share resources
between a standalone app and an AUv3 plugin, for example.
MIDI: Several ALSA Seq improvements
===================================
Many things were done in this patch (I couldn't really split in several
patches):
* Only one ALSA Sequencer client per application
* ALSA Sequencer client name is the application's name by default
* Fixed a bug when getDeivces() would return devices created by the
application itself
* Only ports created with createNewDevice() are allowed to be subscribed,
other ports (created by openDevice()) doesn't allow subscription
* AlsaPort is now handled by AlsaClient, basically having the proper
representation such as the ALSA Sequencer has.
Files: Fix default directory paths
==================================
Some information on:
* Linux LSB FHS:
http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs-30
* https://wiki.archlinux.org/index.php/Xdg_user_directories
Refactor Event loop to remove X11 dependency
============================================
The goal of this refactor was to remove X11 dependencies on juce_events
to enable non-gui applications (example, Embedded Linux apps) to have no
libx11 dependency.
The side-effect of this refactor is easy implementation of other Linux
graphical back-end, cleanup some code, better handling of X displays and
other benefits.
I removed a lot of the code from juce_linux_Windowing to separate files
for clarity. I also renamed all Linux X11 files to *linux_X11* instead of
just *linux*.
X11: Remove unnecessary XGrabButton call
========================================
This call is made unnecessary if used proper window flags when a window
is created.
* Use separate folder for disk cache in debug mode to avoid mixing debug/release-mode object files while testing
* Quote the server's file name as it may contain spaces etc.
* Fix saving source files during compilation on Windows
* Fix JuceDemo for live builds on Mac: long chains of recursive operator<< invocations caused compiler crash
* Move code for creating disabled Build tab to extra function and add names to improve readability
* Implement new "subscribe" behavior for createDisabledBuildTab
* Clean up trailing spaces