README.md
1![alt text](https://assets.juce.com/juce/JUCE_banner_github.png "JUCE")
2
3JUCE is an open-source cross-platform C++ application framework used for rapidly
4developing high quality desktop and mobile applications, including VST, AU (and AUv3),
5RTAS and AAX audio plug-ins. JUCE can be easily integrated with existing projects or can
6be used as a project generation tool via the [Projucer](https://juce.com/discover/projucer),
7which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio,
8Code::Blocks, CLion and Linux Makefiles as well as containing a source code editor and
9live-coding engine which can be used for rapid prototyping.
10
11## Getting Started
12
13The JUCE repository contains a [master](https://github.com/juce-framework/JUCE/tree/master)
14and [develop](https://github.com/juce-framework/JUCE/tree/develop) branch. The develop branch
15contains the latest bugfixes and features and is periodically merged into the master
16branch in stable [tagged releases](https://github.com/juce-framework/JUCE/releases)
17(the latest release containing pre-built binaries can be also downloaded from the
18[JUCE website](https://juce.com/get-juce)).
19
20JUCE projects can be managed with either the Projucer (JUCE's own project-configuration
21tool) or with CMake.
22
23### The Projucer
24
25The repository doesn't contain a pre-built Projucer so you will need to build it
26for your platform - Xcode, Visual Studio and Linux Makefile projects are located in
27[extras/Projucer/Builds](/extras/Projucer/Builds)
28(the minumum system requirements are listed in the __System Requirements__ section below).
29The Projucer can then be used to create new JUCE projects, view tutorials and run examples.
30It is also possible to include the JUCE modules source code in an existing project directly,
31or build them into a static or dynamic library which can be linked into a project.
32
33For further help getting started, please refer to the JUCE
34[documentation](https://juce.com/learn/documentation) and
35[tutorials](https://juce.com/learn/tutorials).
36
37### CMake
38
39Version 3.15 or higher is required for plugin projects, and strongly
40recommended for other project types. To use CMake, you will need to install it,
41either from your system package manager or from the [official download
42page](https://cmake.org/download/). For comprehensive documentation on JUCE's
43CMake API, see the [JUCE CMake documentation](/docs/CMake%20API.md). For examples
44which may be useful as starting points for new CMake projects, see the [CMake
45examples directory](/examples/CMake).
46
47#### Building Examples
48
49To use CMake to build the examples and extras bundled with JUCE, simply clone
50JUCE and then run the following commands, replacing "DemoRunner" with the name
51of the target you wish to build.
52
53 cd /path/to/JUCE
54 cmake . -B cmake-build -DJUCE_BUILD_EXAMPLES=ON -DJUCE_BUILD_EXTRAS=ON
55 cmake --build cmake-build --target DemoRunner
56
57## Minimum System Requirements
58
59#### Building JUCE Projects
60
61- __macOS/iOS__: macOS 10.11 and Xcode 7.3.1
62- __Windows__: Windows 8.1 and Visual Studio 2015 64-bit
63- __Linux__: GCC 4.8 (for a full list of dependencies, see
64[here](/docs/Linux%20Dependencies.md)).
65- __Android__: Android Studio on Windows, macOS or Linux
66
67#### Deployment Targets
68
69- __macOS__: macOS 10.7
70- __Windows__: Windows Vista
71- __Linux__: Mainstream Linux distributions
72- __iOS__: iOS 9.0
73- __Android__: Jelly Bean (API 16)
74
75## Contributing
76
77For bug reports and features requests, please visit the [JUCE Forum](https://forum.juce.com/) -
78the JUCE developers are active there and will read every post and respond accordingly. When
79submitting a bug report, please ensure that it follows the
80[issue template](/.github/ISSUE_TEMPLATE.txt).
81We don't accept third party GitHub pull requests directly due to copyright restrictions
82but if you would like to contribute any changes please contact us.
83
84## License
85
86The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_blocks_basics, juce_core
87and juce_events) are permissively licensed under the terms of the
88[ISC license](http://www.isc.org/downloads/software-support-policy/isc-license/).
89Other modules are covered by a
90[GPL/Commercial license](https://www.gnu.org/licenses/gpl-3.0.en.html).
91
92There are multiple commercial licensing tiers for JUCE, with different terms for each:
93- JUCE Personal (developers or startup businesses with revenue under 50K USD) - free
94- JUCE Indie (small businesses with revenue under 500K USD) - $40/month
95- JUCE Pro (no revenue limit) - $130/month
96- JUCE Educational (no revenue limit) - free for bona fide educational institutes
97
98For full terms see [LICENSE.md](LICENSE.md).
99