ВЧЕРА
Эта статья может чрезмерно полагаться на источники, слишком тесно связанные с предметом , что потенциально препятствует тому, чтобы статья была проверяемой и нейтральной . ( декабрь 2023 г. ) |
![]() | |
Оригинальный автор(ы) | Джулиан Сторер |
---|---|
Первоначальный выпуск | 2004 г |
Стабильная версия | 7.0.12 / 15 апреля 2024 г [1] |
Репозиторий | |
Написано в | С++ |
Операционная система | Кросс-платформенный |
Тип | разработки Библиотека |
Лицензия | GPL , коммерческая |
Веб-сайт | www |
JUCE — это с открытым исходным кодом кроссплатформенная C++ среда приложений , используемая для разработки настольных и мобильных приложений. JUCE используется, в частности, для графического пользовательского интерфейса и библиотек плагинов . Он имеет двойную лицензию GPLv3 и коммерческую лицензию. [2]
Цель JUCE — позволить писать программное обеспечение таким образом, чтобы один и тот же код компилировался Linux и работал одинаково на платформах Windows , macOS и исходный . Он поддерживает различные среды разработки и компиляторы.
История
[ редактировать ]JUCE возник в результате разделения базового кода C++ , который был разработан Джулианом Сторером для создания Tracktion (теперь Waveform) DAW графических и аудиовозможностей . Впервые он был выпущен для широкой публики в 2004 году. На него распространяется двойная GPL /коммерческая лицензия.
JUCE и Raw Material Software были приобретены в ноябре 2014 года лондонским производителем оборудования ROLI за нераскрытую сумму. [3]
В апреле 2020 года было объявлено, что ROLI продала JUCE компании PACE Anti-Piracy Inc.. [4]
Официальная поддержка
[ редактировать ]JUCE предназначен для одинакового использования на разных платформах и компиляторах. Raw Material Software предоставляет следующий список платформ и компиляторов, поддержка которых официально подтверждена; другие могут работать, но официально не тестировались.
Поддерживаемые платформы
[ редактировать ]JUCE поддерживается на следующих платформах.
- Windows Vista , 7 , 8 и 10
- версии macOS 10.7 и новее
- iOS версии 9 и более поздних версий
- Ядро Linux серии 2.6 и новее
- Android с использованием NDK-v5 и более поздних версий
Поддерживаемые компиляторы
[ редактировать ]Официально подтверждено, что JUCE корректно работает со следующими компиляторами.
- GCC версии 5 и более поздних версий
- LLVM — LLVM Clang версии 3.4 и новее.
- Microsoft Visual Studio — Visual C++ 2015 и более поздних версий.
Функции
[ редактировать ]Как и многие другие платформы (например, Qt , wxWidgets , GTK и т. д.), JUCE содержит классы, предоставляющие ряд функций, которые охватывают элементы пользовательского интерфейса, графику, аудио, XML и JSON анализ , работу в сети , криптографию , многопоточность , встроенный интерпретатор, имитирующий . синтаксис ECMAScript, а также различные другие часто используемые функции Таким образом, разработчики приложений, которым требуется несколько сторонних библиотек, могут объединить и использовать только библиотеку JUCE или, по крайней мере, сократить количество используемых ими сторонних библиотек. При этом первоначальным источником вдохновения послужил Java JDK , а JUCE задумывался как «что-то похожее на C++».
Примечательной особенностью JUCE по сравнению с другими подобными платформами является большой набор аудиофункций; это связано с тем, что JUCE изначально разрабатывался как основа для Tracktion , аудиосеквенсора, а затем был выделен в отдельный продукт. JUCE имеет поддержку аудиоустройств (таких как CoreAudio , ASIO , ALSA , JACK , WASAPI , DirectSound ) и MIDI воспроизведения , полифонических синтезаторов , встроенных считывателей распространенных форматов аудиофайлов (таких как WAV , AIFF , FLAC , MP3 и Vorbis ). , а также оболочки для создания различных типов аудиоплагинов, таких как VST -эффекты и инструменты. Это привело к его широкому использованию в сообществе разработчиков аудио. [5]
JUCE поставляется с классами-оболочками для создания плагинов для аудио и браузера. При создании аудиоплагина создается один двоичный файл, поддерживающий несколько форматов плагинов ( VST и VST3, RTAS , AAX , Audio Units ). Поскольку весь код, зависящий от платформы и формата, содержится в оболочке, пользователь может создавать VST/VST3/RTAS/AAX/AU для Mac и Windows из единой базы кода. таргетинг и хостинг плагинов LV2 . Начиная с JUCE7, также возможен [6] Раньше это делалось с помощью различных вилок. [7] [8]
Плагины браузера обрабатываются аналогичным образом: создается один двоичный файл, который функционирует как плагин NPAPI и ActiveX .
Инструменты
[ редактировать ]«Projucer» — это инструмент IDE для создания проектов JUCE и управления ими. Когда файлы и настройки для проекта JUCE указаны, Projucer автоматически генерирует коллекцию файлов стороннего проекта, чтобы обеспечить возможность компиляции проекта на каждой целевой платформе. В настоящее время он может генерировать проекты Xcode , Visual Studio проекты , файлы Makefile Android Ant для Linux, сборки и проекты CodeBlocks . Помимо предоставления возможности управления файлами и настройками проекта, он также имеет редактор кода, встроенный редактор графического интерфейса, мастера для создания новых проектов и файлов, а также механизм живого кодирования, полезный для проектирования пользовательского интерфейса.
История версий
[ редактировать ]- Версия 1 - 2004 г.
- Версия 4 – ноябрь 2015 г.
- Версия 5 – апрель 2017 г.
- Версия 6 — апрель 2020 г. — ключевые обновления включали добавление поддержки CMake для сборки проектов, обновление модуля DSP, введение поддержки VST3 в Linux и поддержку Clang для Windows, а также обновленные компоненты веб-просмотра в macOS/iOS и множество других функций, зависящих от платформы. улучшения.
- Версия 7 — июнь 2022 г. — значительные обновления включали введение SDK Audio Random Access (ARA) и поддержку подключаемых модулей LV2, новые параметры рендеринга для macOS и iOS, аппаратно-синхронизированное рисование на разных платформах, обновленные API-интерфейсы Android, обновленный AudioPlayHead и расширенные функции доступности. [9]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Том Пул (15 апреля 2024 г.). «7.0.12» . github.com . Проверено 15 мая 2024 г.
- ^ Лицензия JUCE , JUCE, 18 апреля 2022 г. , получено 18 апреля 2022 г.
- ^ «Производитель музыкального оборудования ROLI приобретает JUCE, ключевую компанию музыкальной индустрии» . TechCrunch. 18 ноября 2014 г. Проверено 19 марта 2016 г.
- ^ «JUCE объявляет о приобретении ПАСЕ | JUCE» . juce.com . Архивировано из оригинала 19 апреля 2020 г. Проверено 30 марта 2022 г.
- ^ «Экосистема» . Архивировано из оригинала 7 августа 2013 года . Проверено 25 апреля 2017 г.
- ^ Примечания к выпуску JUCE7: https://github.com/juce-framework/JUCE/releases/tag/7.0.0
- ^ Форк DPF falkTX: https://github.com/DISTRHO/juce
- ^ Форк lv2-porting-project от KottV https://github.com/lv2-porting-project/JUCE
- ^ «JUCE/ChangeList.txt в мастере · juce-framework/JUCE» . Гитхаб . Проверено 15 сентября 2023 г.