Saltar para o conteúdo

JUCE

Origem: Wikipédia, a enciclopédia livre.
JUCE
Logótipo
JUCE
Versão estável 7.0.12 (15 de abril de 2024; há 2 meses)
Escrito em C++
Gênero(s) biblioteca de software
Licença GNU General Public License
Página oficial www.juce.com
Repositório github.com/juce-framework/JUCE

JUCE é uma estrutura de aplicação específica de código aberto e multiplataforma, escrita em C++ e utilizada para o desenvolvimento de aplicações móveis e de ambiente de trabalho. O JUCE é utilizado em particular pelas suas bibliotecas GUI e plug-in.

O objetivo do JUCE é permitir que o software seja escrito de forma a que o mesmo código-fonte seja compilado e executado de forma idêntica nas plataformas Windows, MacOS e Linux. Suporta vários ambientes de desenvolvimento e compiladores, tais como GCC, Xcode e Code::Blocks.

História[editar | editar código-fonte]

JUCE foi o resultado de uma divisão do código C++ subjacente desenvolvido por Julian Storer para criar as capacidades de áudio e gráficos da DAW do Tracktion (atualmente Waveform). Foi lançado ao público pela primeira vez em 2004. Está coberto por uma licença GPL/comercial dupla.

A JUCE e a Raw Material Software foram adquiridas em novembro de 2014 pelo fabricante de hardware ROLI, com sede em Londres, por um montante não revelado.[1] Como parte da aquisição, o fundador da JUCE, Jules Storer, juntou-se à ROLI como diretor de arquitetura de software e editor-chefe da JUCE. Jules anunciou aos utilizadores da JUCE que:

[2]

Apoio oficial[editar | editar código-fonte]

JUCE foi projetado para ser usado exatamente da mesma forma em múltiplas plataformas e compiladores. A Raw Material Software oferece a seguinte lista de plataformas e compiladores nos quais o suporte está oficialmente confirmado; outros podem funcionar, mas não foram oficialmente testados.

Plataformas suportadas[editar | editar código-fonte]

JUCE suporta as seguintes plataformas.

Compiladores suportados[editar | editar código-fonte]

JUCE está oficialmente confirmado para funcionar corretamente com os seguintes compiladores.

Características[editar | editar código-fonte]

Como muitos outros frameworks (por exemplo, Qt, wxWidgets, GTK+, etc.), JUCE contém classes que fornecem uma gama de funções que cobrem elementos da interface do usuário, gráficos, áudio, XML e JSON, rede, criptografia, multi-threading, um interpretador integrado que imita a sintaxe ECMAScript e vários outros recursos comumente usados. Os programadores de aplicações que necessitam de várias bibliotecas de terceiros podem, por conseguinte, consolidar e utilizar apenas a biblioteca JUCE ou, pelo menos, reduzir o número de bibliotecas de terceiros que utilizam. Neste caso, a inspiração original foi o JDK de Java e a JUCE pretendia ser “algo semelhante para C++”.

Uma caraterística notável do JUCE em comparação com outros frameworks similares é seu grande conjunto de recursos de áudio; isso porque o JUCE foi originalmente desenvolvido como um framework para o Tracktion, um sequenciador de áudio, antes de ser dividido em um produto independente. JUCE tem suporte para dispositivos de áudio (como CoreAudio, ASIO, ALSA, JACK, WASAPI, DirectSound) e reprodução de MIDI, sintetizadores polifônicos, leitores embutidos para formatos de arquivos de áudio (como WAV, AIFF, FLAC, Mp3 e Vorbis), bem como wrappers para criar vários tipos de plug-ins de áudio, como instrumentos e efeitos VST. Isso levou ao seu uso generalizado na comunidade de desenvolvimento de áudio.[3]

JUCE vem com classes contentoras para criar plugins de áudio e de browser. Ao construir um plugin de áudio, é produzido um único binário que suporta múltiplos formatos de plugin (VST & VST3, RTAS, AAX, Audio Units). Como todo o código específico da plataforma e do formato está contido no contentor, um utilizador pode construir VST / VST3 / RTAS / AAX / AU para Mac e Windows a partir de uma única base de código.

Os plug-ins de navegador são tratados de forma semelhante: é produzido um único binário que funciona como um plug-in NPAPI e um plug-in ActiveX.

Ferramentas[editar | editar código-fonte]

O “Projucer” é uma ferramenta IDE para criar e gerir projectos JUCE. Quando os ficheiros e as configurações tiverem sido especificados para um projeto JUCE, o Projucer gera automaticamente uma coleção de ficheiros de projeto de terceiros para permitir que o projeto seja compilado nativamente em cada plataforma de destino. Atualmente, pode gerar projectos Xcode, projectos Visual Studio, Linux Makefiles, Android Ant builds e CodeBlocks. Além de fornecer uma forma de gerir os ficheiros e as definições de um projeto, também possui um editor de código, um editor de GUI integrado, assistentes para criar novos projectos e ficheiros e um motor de codificação em tempo real útil para a conceção da interface do utilizador.

Ver também[editar | editar código-fonte]

Referências

  1. Butcher, Mike (18 de novembro de 2014). «Music Hardware Maker ROLI Acquires JUCE, A Key Music Industry Framework». TechCrunch (em inglês). Consultado em 7 de junho de 2024 
  2. «JUCE has been acquired by ROLI! | JUCE C++ Library». Juce.com. 18 de novembro de 2014. Consultado em 19 de março de 2016 
  3. «Ecosystem». Consultado em 25 de abril de 2017. Arquivado do original em 7 de agosto de 2013 

Ligações externas[editar | editar código-fonte]