E’ uscita la nuova versione di PALib: 080203 “Community update”

palib logo

Io, Thomas e altri abbiamo lavorato insieme per far uscire una nuove versione di PALib dal momento che l’autore (Mollusk) non ha molto tempo per mantenerla.

Sono passati sette mesi dall’ultima release, ma penso che sia valso aspettare viste le nuove caratteristiche, qui l’annuncio ufficiale (in inglese) e la traduzione in italiano:

PALIB 080203 “Community Release” – BETA

Read this before using Palib!

— BACKGROUND —

Each new version of devkitARM had the disadvantage of breaking up PALib’s sound support for some linker.
The main problem with the sound was that the modplayer on the arm7 was difficult to maintain, and Mollusk didn’t have time to maintain this project.

There were some scenarios, resulting from the fact that the latest working PALib version was PAlib070717 + devkitARM r20:

a) Windows XP and Linux users who didn’t need support for new libraries such as Noda’s ASLib or future libraries compiled with devkitARM r21
were continuing to use the old PALib with devkitARM r20.
b) Windows Vista users couldn’t use PAlib compiled as it was, since devkitARM r20 doesn’t support Vista. There is a hack to do that but the authors
of devkitARM discourage it’s use. Using this hack will lead to a working PALib, but with the disadvantages of scenario a.
c) User who wanted PALib with bugfixes, new features, devkitARM r21, Vista, sound working, and new external lib support were waiting for a new PALib release.

For this one.

— THE PRESENT —

After months of work we are proud to announce the new development version of PALib,
code named “Community Release”, thanks to the efforts of (in no particular order):
Noda, Tom, Scognito, Michoko and others.

Since this is a new development release it may contain some bugs, but that’s normal since we cannot test every example with every card, so
please help us to improve it by reporting bugs and sending patches!

So what does this release offer?

* DevkitARM r21 compatibilty -> Vista support
* Support for the following libraries:
* ASLib by Noda (sound and mp3 playback)
* Modplayer by hitchhikr
* Liblobby by MightyMax and others (DS<->DS networking) (external download)
* Mikmod by Stonebone (mod, s3m, it, etc. playback) (external download)
* EFSLib by Noda (embedded file system superior to GBFS / PAFS) (external download)
* New examples:
* PAlibExamples/FAT: EFS_Lib, Locate
* PAlibExamples/Sound: ASLib_General, ASLib_using_EFSLib, SoundPlayback, MikMod
* PAlibExamples/Wifi: libLobby
* A new Makefile:
* Ability to choose the arm7 core (see below)
* WIFI icon (which is never shown) no longer included -> .nds files work with no$gba, Supercard SD, etc. The .sc.nds file is no longer needed.
* Other small things (doc compatible with latest doxygen, dsFont tool included, cleanup, etc.)
* Many bugfixes

The changelog covers everything in more detail, but it’s too long to list it here – it is included in the download.

As for the sounds, your old projects will probably not work, since the sound part is completely redone,
featuring Noda’s cool ASLib as the standard way of sound output.

— INSTALLING —

Since this is a beta release, it comes without the installer, so uninstall the old PALib (5 directories) and put there the new ones from the archive.
To add the external libraries (mikmod, liblobby, efs) you can download them from the download section or
directly from the authors to get the latest versions (but you will need a SVN client for liblobby).
Instructions on where to get and where to put the libraries are in install.txt in the PALib folder.

— PORTING YOUR PROJECTS —

These guidelines help you in porting your projects to the new version.

* Backup your old project😉
* Do a make clean in the project dir
* Replace your project Makefile by the one in the PALibTemplate directory
* Edit it (instructions are inside)
* Do a make

Why editing Makefiles?

In this release there are various arm7 cores, because a single one cannot support mod + wifi + ds to ds wireles + mp3 + mikmod.
There are many, you can choose which one fits your needs, just select which one you prefer among these:

* mod + dswifi
* mod + liblobby
* mp3 + dswifi
* mp3 + liblobby
* mikmod + dswifi

You can also add support for EFS, just uncomment the USE_EFS line in the Makefile and follow the efs example on how to build it.

As for sounds:

PA_PlaySimpleSound(file, channel) and PA_PlaySoundRepeat(file, channel) are now replaced by
PA_PlaySimpleSound(file) and PA_PlaySoundRepeat(file).

This is because AS_Lib chooses the channel for sound playback itself, you can’t specify it.
You can get the used channel as the return value of PA_PlaySimpleSound, though.
So please check through your sources and make sure that when using functions to set volume, pan, etc. of sounds,
your program doesn’t assume that a sound effect is played on a specific channel, but passes in the channel obtained from PA_PlaySimpleSound / PA_PlaySoundRepeat.

However, these functions are only wrappers for the ASLib sound functions –
if you want to use the full potential of ASLib, you have to call its functions directly.
You can find more information on them in the “Sound and MP3 functions” section in the documentation.

— THANKS —

A big thanks to goes to Mollusk as usual, for his great library.
Thanks also to all people who helped us to do this release.

Long life to PALib!

Traduzione

— LA SITUAZIONE FINO AD ORA —

Ogni nuova versione di devkitARM aveva lo svantaggio di “sconvolgere” il supporto audio di PALib per alcune schede.
Il problema principale con l’audio era che il modplayer nell’arm7 era difficie da mantenere, e Mollusk (l’autore di PALib, ndr.) non aveva più tempo per mantenere il progetto.

Al momento esistevano diversi scenari, dal momento che l’ultima versione funzionante era PALib 070717 con devkitARM r20:

a) Utenti Windows XP e Linux che non avevano bisogno del supporto alle nuove librerie come ASLib di Noda o librerie future complilate con devkitARM r21
b) Utenti Windows Vista che non potevano usare PALib compilato così com’era, dal momento che devkitARM r20 non supporta Vista. Esiste un piccolo hack per aggirare il problema, ma gli autori di devkitARM ne sconsigliano l’uso. Usando questo hack porta ad avere una versione funzionante di PALib, ma con gli svantaggi dello scenario a.
c) Utenti che volevano PALib con bug risolti, nuove caratteristiche, compatibilità con devkitARM r21, Vista, e nuove librerie esterne e suono funzionante stavano aspettando uno nuovo rilascio di PALib.

Questo.

– IL PRESENTE –

Dopo mesi di lavoro, siamo orgogliosi di presentare la nuova versione di sviluppo di PALib, nome in codice “Community Release”, grazie agli sforzi di (in ordine sparso): Noda, Tom, Scognito, Michoko e altri.

Essendo una versione di sviluppo, potrebbe contenere bug, ma è normale dal momento che non possiamo testare tutti gli esempi con ogni scheda, quindi aiutateci a migliorarla, riportando bug e spedendo patch!

Quindi cosa offre questa versione?

* Compatibilità con devkitARM r21 -> Supporto a Vista
* Supporto per le seguenti librerie:
* ASLib di Noda (per riprodurre audio e mp3)
* Modplayer di hitchhikr
* Liblobby di MightyMax e altri (comunicazione fra DS) (download esterno)
* EFSLib di Noda (embedded filesystem superiore a GBFS / PAFS) (download esterno)
* Mikmod di Stonebone (riproduzione di mod, s3m, it, ecc.) (download esterno)
* Nuovi esempi:
* PAlibExamples/FAT: EFS_Lib, Locate
* PAlibExamples/Sound: ASLib_General, ASLib_using_EFSLib, SoundPlayback, MikMod
* PAlibExamples/Wifi: libLobby
* Un nuovo Makefile
* Possibilità di scegliere che core arm7 scegliere (vedi in seguito)
* Icona WIFI (che non è mai mostrata) non più inclusa -> .nds funziona con no$gba, Supercard SD, ecc. Non c’è più bisogno del file .sc.nds.
* Altre piccole cose (documentazione compatibile con l’ultimo doxygen, dsFont tool incluso, pulizie varie, ecc.)
* Molti bug risolti

Il changelog copre il tutto in maniera più dettagliata, ma è troppo lungo per essere messo qui – è incluso nel download.

Per quel che riguarda l’audio, i vecchi progetti probabilmente non compileranno, dal momento che la parte audio è stata completamente riscritta, includendo la fantastica libreria di Noda, ASLib, come modo standard di riproduzione audio.

– INSTALLAZIONE –

Dal momento che questa è una versione beta, non ha installer, quindi bisogna prima disistallare le vecchie PALib (5 directory) e mettere le nuove dall’archivio.

Per aggiungere le librerie esterne (mikmod, liblobby, efs) bisogna scaricarle dalla sezione download o direttamente dalle pagine dei rispettivi autori per le ultime versioni (ma c’è bisogno di un client SVN per liblobby).
Le istruzioni su dove prenderle e dove metterle sono contenute nel file install.txt nella directory PALib.

– CONVERTIRE I VECCHI PROGETTI –

Queste linee guida aiutano a convertire i vecchi progetti alla nuova versione.

* Fare un backup del vecchio progetto😉
* Fare un make clean nella directory del progetto stesso
* Rimpiazzare il Makefile con quello contenuto nella directory PALibTemplate
* Editarlo (istruzioni più avanti)
* Eseguire make

Perchè editare il Makefile?

In questa versione ci sono vari core arm7, perchè uno singolo non può supportare contemporaneamente mod + wifi + ds to ds wireless + mp3 + mikmod.
Ce ne sono molti fra cui scegliere, in base alle proprie esigenze, basta prendere uno fra questi:

* mod + dswifi
* mod + liblobby
* mp3 + dswifi
* mp3 + liblobby
* mikmod + dswifi

Si può anche aggiungere il supporto a EFS, togliendo il commento alla voce USE_EFS nel Makefile e seguire l’esempio efs su come compilare.

Per quel che riguarda l’audio:

PA_PlaySimpleSound(file, canale) e PA_PlaySoundRepeat(file, canale) sono stati rimpiazzati da
PA_PlaySimpleSound(file) e PA_PlaySoundRepeat(file).

Questo perchè ASLib sceglie il canale di riproduzione da solo, quindi non si può specificare.
Si può comunque ottenere il canale usato dal valore di ritorno della funzione PA_PlaySimpleSound.

Quindi fate attenzione ai sorgenti e siate sicuri che quando usate funzioni per settare il volume, pan ecc, il vostro programma non assume che un suono sia suonato su un certo canale, ma passa dal canale ottenuto dalla funzione PA_PlaySimpleSound / PA_PlaySoundRepeat.

Ad ogni modo, queste funzioni sono solo wrapper per le funzioni di ASLib – se si vuole ottenere piena potenza da essa, bisogna richiamare le sue funzioni direttamente.
Ulteriori informazioni nella sezione “Sound and MP3 functions” della documentazione.

– RINGRAZIAMENTI –

Un grande grazie va come al solito a Mollusk, per la sua grande libreria.
Grazie anche a tutte le persone che ci hanno aiutato a fare questo rilascio.

Lunga vita a PALib!

Il topic originale, sempre in inglese, si trova qui.

Un pensiero su “E’ uscita la nuova versione di PALib: 080203 “Community update”

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...