Vários dias atrás o lançamento da nova versão da biblioteca SDL 2.0.16 foi anunciado (Simple DirectMedia Layer), projetado para simplificar a escrita de jogos e aplicativos multimídia. Nesta nova versão várias mudanças foram adicionadas, entre as quais se destacam as melhorias de suporte para o Wayland, bem como a capacidade de gerar e capturar áudio usando o servidor multimídia Pipewire e outras coisas.
Para quem não conhece a biblioteca SDL, você deve saber que isso, fornece ferramentas como saída gráfica 2D e 3D acelerada por hardware, processamento de entrada, reprodução de áudio, saída 3D via OpenGL / OpenGL ES e muitas outras operações relacionadas.
SDL é oficialmente compatível com Windows, Mac OS X, Linux, iOS e Android, embora tenha suporte para outras plataformas como QNX, bem como outras arquiteturas e sistemas como Sega Dreamcast, GP32, GP2X, etc.
Camada simples do DirectMedia é escrito em C, funciona nativamente com C ++ e os links estão disponíveis para várias outras linguagens, incluindo C # e Python, é distribuído sob a licença zlib, esta licença permite que você use SDL gratuitamente em qualquer software.
Apesar de ser programado em C, possui wrappers para outras linguagens de programação como C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python, etc.
Principais novos recursos do SDL 2.0.16
Nesta nova versão do SDL, uma das novidades que mais se destaca é que suporte para Wayland foi melhorado enormemente, além disso adicionou a capacidade de gerar e capturar áudio usando Pipewire Media Server e AAudio (Android) e também suporte para controladores de jogos Amazon Luna e Xbox Series X.
Outra mudança que podemos encontrar é quee adicionou suporte para o efeito de vibração adaptável (para fazer barulho) em Controladores Google Stadia e Nintendo Switch Pro ao usar o driver HIDAPI.
Além disso A carga da CPU foi reduzida ao processar chamadas SDL_WaitEvent () e SDL_WaitEventTimeout () e uma definição de extensões SIMD compatíveis com a plataforma Elbrus também foi adicionada.
Pela parte dos novos recursos que foram propostas nesta nova versão, são mencionados os seguintes:
- SDL_FlashWindow () - Permite que você prenda a atenção do usuário.
- SDL_GetAudioDeviceSpec (): é para obter informações sobre o formato de áudio preferido para o dispositivo especificado.
- SDL_SetWindowAlwaysOnTop (): visa alterar dinamicamente o sinalizador SDL_WINDOW_ALWAYS_ON_TOP (âncora em outro conteúdo) para a janela selecionada.
- SDL_SetWindowKeyboardGrab (): para capturar a entrada do teclado independentemente do mouse.
- SDL_SoftStretchLinear (): para escalonamento bilinear entre superfícies de 32 bits.
- SDL_UpdateNVTexture (): para atualizar as texturas no NV12 / 21.
- SDL_GameControllerSendEffect () e SDL_JoystickSendEffect (): para enviar efeitos personalizados para controladores de jogo DualSense.
- SDL_GameControllerGetSensorDataRate (): para obter dados sobre a intensidade da informação recebida dos sensores dos controladores de jogos PlayStation e Nintendo Switch.
- SDL_AndroidShowToast (): permite mostrar notificações leves na plataforma Android.
Finalmente se você estiver interessado em saber mais sobre isso desta nova versão, você pode verificar o detalhes no link a seguir.
Como instalar o Simple DirectMedia Layer no Linux?
A instalação desta biblioteca no Linux é bastante simples, pois a maioria das distribuições Linux a possui em seus repositórios.
Para o caso de Debian, Ubuntu e distribuições derivadas destes, você só terá que executar os seguintes comandos em um terminal:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Enquanto para o caso daqueles que são vocêsSuarios do Arch Linux, só precisamos executar o seguinte:
sudo pacman -S sdl2
No caso de quem é usuário de Fedora, Centos, RHEL ou qualquer distribuição baseada neles, eles só precisam executar o seguinte comando:
sudo yum install SDL2 sudo yum install SDL2-devel
Para todas as outras distribuições Linux, eles podem procurar o pacote "sdl" ou "libsdl" para instalação ou baixar e compilar o código-fonte.
Eles fazem isso com:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install