giugno 01, 2010

Simple DirectMedia Layer (SDL), libreria libera multimediale multi piattaforma per controllare video, audio digitale, CD-ROM, suoni ed altro.

| No comment
Simple DirectMedia Layer (SDL) è una libreria libera multimediale multi piattaforma, scritta in C, che crea un livello astratto al di sopra di varie piattaforme software grafiche e sonore e dunque può controllare video, audio digitale, CD-ROM, suoni, thread, caricamento condiviso di oggetti, timer e networking.

Questa astrazione permette ai programmatori di scrivere un'applicazione multimediale una sola volta e farla girare su molti sistemi operativi: la versione corrente supporta ufficialmente Linux, Windows, BeOS, MacOS e Mac OS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX e QNX ma il codice sorgente offre il supporto non ufficiale anche per Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS e SymbianOS.

Storia.
Sam Lantinga ha creato la libreria, rilasciandola inizialmente agli inizi del 1998, mentre lavorava per la Loki Software. Gli venne l'idea mentre stava portando una applicazione da Windows a Macintosh. Ha poi utilizzato SDL per portare Doom in BeOS (vedi Doom source port). Parecchie altre librerie libere sembrano lavorare con SDL, quali ad esempio SMPEG e OpenAL.

La libreria ha collegamenti con quasi ogni linguaggio di programmazione esistente, dal popolare C++, Perl, Python (attraverso pygame), Pascal ai meno conosiuti come il Euphoria o il Pliant. Questo, e il fatto che è licenziato sotto la LGPL, fa di SDL una scelta comune per molte applicazioni multimediali.

SDL stesso è molto semplice; Funziona solamente come un wrapper leggero e multi piattaforma che fornisce il supporto alle operazioni 2D sui pixel, suoni accesso ai file, gestione degli eventi, temporizzatori, thread e altro. È spesso usata come complemento alle OpenGL settando l'output grafico e fornendo la gestione dell'input del mouse e della tastiera, che sono ben oltre lo scopo delle OpenGL.

La libreria è suddivisa in parecchi sottosistemi, nominati come il Video (gestisce sia le funzioni per le superfici e l'OpenGL), l'Audio, il CD-ROM, il Joystick e il sottosistema Timer. A parte il supporto basico a basso livello, vi sono alcune librerie ufficiali di supporto che forniscono funzionalità addizionali. Queste comprendono le "librerie standard", sono fornite sul sito ufficiale e incluse nella documentazione ufficiale:

* SDL_image - supporto per diversi formati di immagini
* SDL_mixer - funzioni audio complesse, principalmente per il mescolamento dei suoni
* SDL_net - supporto alla rete
* SDL_ttf - supporto alla renderizzazione dei Font TrueType
* SDL_rtf - Renderizzazione semplice del Rich Text Format

SDL ha la parola "layer" nel suo titolo perché è veramente un wrapper attraverso funzionalità specifiche per i sistemi operativi. Lo scopo principale di SDL è di fornire un framework comune per accedere a queste funzionalità.
Per come è progettato SDL, un mucchio di codice sorgente è suddiviso in moduli separati per ogni sistema operativo, per poter fare chiamate al sistema operativo sottostante. Quando SDL è compilato, i moduli corretti sono selezionati per il giusto sistema operativo.

Su Microsoft Windows, SDL fornisce un wrap per le DirectX, che a loro volta sono un wrapper al driver video. Le vecchie versioni di SDL utilizzavano le DirectX 5, ma SDL 1.2 (La release stabile odierna) richiede le DirectX 7 di default. Sam Lantinga ha iniziato i piani per utilizzare le DirectX 8 nelle future release di SDL [1].

Sulle piattaforme X11, incluso Linux, SDL usa le Xlib per comunicare con il sistema X11 per gli eventi grafici.

Su Mac OS X, SDL usa Quartz.

Sottosistemi e sintassi.

La sintassi di SDL si basa sulle funzioni, tutte le operazioni fatte in SDL vengono eseguite passando parametri alle funzioni. Le infrastrutture speciali sono usate anche per immagazzinare le informazioni specifiche che SDL ha bisogno di usare. Ci sono pochi sottosistemi SDL differenti per caratterizzare le sue funzioni sotto:

* Il sottosistema Video, eventi e thread - questo fornisce funzionalità per il video, multi-threading, e gestione degli eventi.
* Il sottosistema Audio - questo fornisce le funzionalità audio.
* Il sottosistema Timer
* Il sottosistema Joystick
* Il sottosistema CD-ROM


fonte: Wikipedia & SDL


Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:


Ultimi post pubblicati

Universo Linux


Trovato questo articolo interessante? Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche in Google, Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie! CONDIVIDI SU!

stampa la pagina
, , , , , ,

Nessun commento:

Posta un commento

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.

Ultimi post pubblicati

Archivio

Etichette

Ubuntulandia in Pinterest

Post Più Popolari