stringtranslate.com

СОК

JUCE — это кроссплатформенный фреймворк приложений C++ с открытым исходным кодом , используемый для разработки настольных и мобильных приложений. JUCE используется, в частности, для своих библиотек GUI и подключаемых модулей . Он имеет двойную лицензию под GPLv3 и коммерческую лицензию. [2]

Цель JUCE — позволить писать программное обеспечение таким образом, чтобы один и тот же исходный код компилировался и работал одинаково на платформах Windows , macOS и Linux . Он поддерживает различные среды разработки и компиляторы.

История

JUCE появился в результате разделения базового кода C++ , разработанного Джулианом Сторером для создания графических и аудиовозможностей DAW Tracktion (теперь Waveform) . Впервые он был выпущен для публики в 2004 году. Он распространяется по двойной лицензии GPL /коммерческой лицензии.

В ноябре 2014 года компании JUCE и Raw Material Software были приобретены лондонским производителем оборудования ROLI за нераскрытую сумму. [3]

В апреле 2020 года было объявлено, что JUCE был продан компанией ROLI компании PACE Anti-Piracy Inc. [4]

Официальная поддержка

JUCE предназначен для использования абсолютно одинаково на разных платформах и компиляторах. Raw Material Software приводит следующий список платформ и компиляторов, поддержка которых официально подтверждена; другие могут работать, но официально не тестировались.

Поддерживаемые платформы

JUCE поддерживается на следующих платформах.

Поддерживаемые компиляторы

Официально подтверждено, что JUCE корректно работает со следующими компиляторами.

Функции

Как и многие другие фреймворки (например, Qt , wxWidgets , GTK и т. д.), JUCE содержит классы, предоставляющие ряд функций, которые охватывают элементы пользовательского интерфейса, графику, аудио, анализ XML и JSON , сетевые технологии , криптографию , многопоточность , интегрированный интерпретатор, имитирующий синтаксис ECMAScript , и различные другие часто используемые функции. Разработчики приложений, которым требуется несколько сторонних библиотек, могут, таким образом, объединить и использовать только библиотеку JUCE или, по крайней мере, сократить количество используемых ими сторонних библиотек. В этом случае первоначальным источником вдохновения был JDK Java , а 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 из одной кодовой базы. Так как JUCE7 также возможно нацеливание и размещение плагинов LV2 . [6] Ранее это делалось с использованием различных форков. [7] [8]

Плагины браузера обрабатываются аналогичным образом: создается один двоичный файл, который функционирует и как плагин NPAPI , и как плагин ActiveX .

Инструменты

"Projucer" — это IDE- инструмент для создания и управления проектами JUCE. Когда файлы и настройки для проекта JUCE указаны, Projucer автоматически генерирует набор сторонних файлов проекта, чтобы проект можно было скомпилировать нативно на каждой целевой платформе. В настоящее время он может генерировать проекты Xcode , проекты Visual Studio , файлы Makefile Linux, сборки Android Ant и проекты CodeBlocks . Помимо предоставления способа управления файлами и настройками проекта, он также имеет редактор кода, интегрированный редактор GUI, мастера для создания новых проектов и файлов, а также механизм кодирования в реальном времени, полезный для проектирования пользовательского интерфейса.

История версий

Смотрите также

Ссылки

  1. Том Пул (15.04.2024). "7.0.12". github.com . Получено 15.05.2024 .
  2. ^ Лицензия JUCE, JUCE, 18 апреля 2022 г. , получено 18 апреля 2022 г.
  3. ^ "Производитель музыкального оборудования ROLI приобретает JUCE, ключевую структуру музыкальной индустрии". TechCrunch. 2014-11-18 . Получено 2016-03-19 .
  4. ^ "JUCE объявляет о приобретении компанией PACE | JUCE". juce.com . Архивировано из оригинала 2020-04-19 . Получено 2022-03-30 .
  5. ^ "Экосистема". Архивировано из оригинала 7 августа 2013 г. Получено 25 апреля 2017 г.
  6. ^ Заметки о выпуске JUCE7: https://github.com/juce-framework/JUCE/releases/tag/7.0.0
  7. ^ DPF-форк falkTX: https://github.com/DISTRHO/juce
  8. ^ Форк проекта KottV lv2-porting-project https://github.com/lv2-porting-project/JUCE
  9. ^ "JUCE/ChangeList.txt в master · juce-framework/JUCE". GitHub . Получено 2023-09-15 .

Внешние ссылки