Dev NDS Kramateur

KT_Lib

KT_Lib

KT_Lib est une petite lib qui vous permettra d'utiliser simplement EFS (ou même la FAT :D) !

Elle peut charger des images (JPEG / BMP / GIF animé ou non :) ), des sons (MP3 / RAW / MOD et pleins d'autres), des backgrounds, des sprites, des vidéos !!

Téléchargements :

 

Tuto écrit par TOILETKING.

Bonjour à tous ! Azn

Chose promise, chose dû ! La KT_lib est enfin arrivée !

Pour la petite histoire, cette lib est née d’une idée que nous avons eu conjointement Kram et moi, et, personnellement, il me semblait plus juste de l’appeler la KRAM Lib, tant le travail qu’il a réalisé à 99% est formidable!  Mais bon, comme je lui ai donné quelques idées, et que mon tuto sur EFS 1 l’a un peu aidé, il tient vraiment à baptiser cette lib la « KT_lib » : la Kram Toiletking Lib ! C’est vraiment un grand honneur pour moi du coup  Azn

C’est donc avec un immense plaisir que je vous présente un tuto pour son utilisation.

LA KT_Lib KEZAKO :

La KT_lib, c’est une librairie puissante (si si Kram je te jure Azn) et sympathique, c’est une librairie de rêves qui s’adresse aussi bien aux Noobs qu’aux plus avancés (je l’espère) tant elle permet de se facilité la vie, et de ne pas réinventer la roue.

La KT_lib, permet en gros d’exploiter les puissantes mis à jours de la palib, regroupant les derniers ajouts de la community release, et surtout, et surtout la formidable lib EFS de Noda ! (Merci vraiment Noda !) dans sa version 2.0

La KT_lib va nous permettre d’utiliser la community release d’une manière un peu plus friendly, et de retrouver l’esprit de simplicité la Palib, a ses jeunes premiers pas (ahhhh PAFS le chien : que de souvenir).

La lib part d’un concept simple : regrouper des fonctions de base palib utilisant EFS 2 (tel que charger des sprites, des bg…) et, tant qu’à créer une lib sympathique, elle regroupe des fonctions bonus super pratiques de rêve, que je décrirais à la fin du tuto.


I) INSTALLATION de la KT_LIB

La KT_lib est très simple à installer, pour cela il faut au préalable disposer de palib de la Community Release, et des différents external pack (EFS Lib, MikMod, AS_lib) que vous trouverez ici,  vous aurez besoin de la KT_lib (normal) que vous trouverez ici.

Une fois que la palib et ses différents packs sont en place, il vous suffit de placer le fichier KT_lib.c et KT_lib.h au coté des autres fichiers EFS_lib.c et .h et main.c dans le dossier « source » de votre projet palib.

Op, dans votre dossier main vous avez ca :

https://images4.hiboox.com/images/3208/faa30a64e4fc4cd488a07598447070c1.png


Une fois les fichiers en place, on ajoute la lib dans le main.c en placant un #include "KT_lib.h" en entête de votre code, dans main.c.

Vous devriez donc avoir ce code là :
 

Code
(c):
//Includes #include       // Include for PA_Lib #include "efs_lib.h" #include "KT_lib.h"



Il faut bien sur impérativent initialiser la palib Azn mais surtout EFS dans le main du programme : 

Code
(c):
PA_Init(); PA_InitVBL(); EFS_Init(EFS_AND_FAT, NULL);



J’insiste sur le fait que EFS 2.0 doit être bien en place, sinon ca marchera pas

Ensuite, il faut ouvrir le makefile du projet, avec bloc note par exemple,  et décommenter ( en enlevant #) EFS pour le mettre en place. Vous devriez, une fois les slashs enlevés, avoir :

Code:
ARM7_SELECTED = ARM7_BASIC
#ARM7_SELECTED = ARM7_MOD_DSWIFI
#ARM7_SELECTED = ARM7_MOD_LIBLOBBY
#ARM7_SELECTED = ARM7_MP3_DSWIFI
#ARM7_SELECTED = ARM7_MP3_LIBLOBBY
#ARM7_SELECTED = ARM7_MIKMOD_DSWIFI
USE_EFS = YES



II) Le son avec la KT_lib :

On va commencer par le son car il y a des choses assez importantes à savoir à ce niveau là pour que cela fonctionne !


1-Choisir son Plugin : boire ou conduire, faut choisir Azn

Pour l’instant, on ne peut pas utiliser simultanément l’ASlib et Mik mod, C’est pourquoi, il vous faut choisir soit l’un, soit l’autre (ehhh ouais c’est dure la vie des fois). Ce choix est impératifs, il vous faudra faire un choix à l’aide des commentaires  dans le fichier KT_lib.h  et le KT lib.c!


C’est tout simple voici il vous faudra ajouter « /* » avant « // » aux endroits indiqués dans le code du KT: 

Code:
//<======= If you don't use AS_lib, just put '/ *' before this comment.

Devien :

Code:
/*//<======= If you don't use AS_lib, just put '/ *' before this comment.

Si vous n'utilisez pas AS_lib

De même :

Code:
//<======= If you don't use Mikmod, just put '/ *' before this comment.

Devien :

Code:
/*//<======= If you don't use Mikmod, just put '/ *' before this comment.

Si vous n'utilisez pas Mikmod


Il faut faire la même chose dans le fichier  Kt_lib.c !

Bon les plus avancés comprendrons pour les commentaires, mais si vous débuté, eh bien c’est tout simple, il vous suffit de faire ce que je viens de dire, et c’est tout ! Toi le noob là bas au fond, ne touche pas aux commentaires : il ya marqué « //Do not erase this comment*/ » contente toi de faire ce qui est marqué !


2-Utiliser KT_lib avec la mik-Mod

Tout d’abord, si vous voulez utiliser Mik mod, avec la KT_lib, il vous faut la télécharger ici :

Mikmod

Décompresser le fichier dans devkitpro. Il sera installé et pris en charge par la palib.

Important : Il faudra changer le makefile de votre projet en commentant la première ligne et il faudra décommenter la ligne de mikmod pour l’activé !
Vous ne comprenez pas ? COPIE-COLLE POWA !

Code:
#ARM7_SELECTED = ARM7_BASIC
#ARM7_SELECTED = ARM7_MOD_DSWIFI
#ARM7_SELECTED = ARM7_MOD_LIBLOBBY
#ARM7_SELECTED = ARM7_MP3_DSWIFI
#ARM7_SELECTED = ARM7_MP3_LIBLOBBY
ARM7_SELECTED = ARM7_MIKMOD_DSWIFI
USE_EFS = YES


Enfin, dans le main.c de votre projet, il faudra rajouter un include

Code:
#include 



3-Utiliser KT lib  avec As lib

Pour ceux qui ne le savent, pas AS_lib va nous permettre de lire des fichier MP3 (et raw).
Surtout, si vous souhaiter utiliser AS_lib, ne pas faire les modif pour l’installation de mikmod : la procédure à prendre en compte est la suivante !

Comme vous le verrez, la KT_lib permet d’utiliser simplement l’AS_lib. Mais il nous faudra utiliser une version modifié par les soins de Kram, afin que le tout soit compatible KT Lib. Cette version est dans le pack de la KT ! => COPIE-COLLE POWA !

Il faut  donc aussi mettre en place la version modifié de l’AS_lib : C’est très important !
Il faut coller ces fichiers modifié AS_lib.c et .h dans le dossier source de votre projet donc Azn

https://images4.hiboox.com/images/3208/394e2cfad7fc0ef217c8666254714889.png


Important : Il faut aussi procéder comme pour la MikMod : ouvrir le makefile à coup de bloc note et décommenter soit MP3+ LIBLOBBY, ou soit MP3+DSWIFI 

Comme Kram est le copain de lobby, on mettra par exemple:

Code:
#ARM7_SELECTED = ARM7_BASIC
#ARM7_SELECTED = ARM7_MOD_DSWIFI
#ARM7_SELECTED = ARM7_MOD_LIBLOBBY
#ARM7_SELECTED = ARM7_MP3_DSWIFI
ARM7_SELECTED = ARM7_MP3_LIBLOBBY
#ARM7_SELECTED = ARM7_MIKMOD_DSWIFI
USE_EFS = YES


Bon, maintenant, on vient de faire le plus dur ! (ouf Azn) Maintenant que les choses sont claires, on va pouvoir s’amuser ! Heureusement, on pense a vous, vous pourrez aussi télécharger les templates pour l’utilisation d’AS_lib ou de Mikmod Azn


III) AFFICHAGE

On commence donc avec les fonctions de bases de la palib, ce que la palib fait de mieux : L’affichage des sprites et des BG.

1- Les Bg

1.1 Charger un bg

 

Code:
void KT_ShowBG(u16 screen, u16 bg, const char* name);



Pour afficher un bg, il faut convertir les arrières plans avec PA_gfx, prendre les binaires des bg dans le dossier bin de PA_Ggx et les placer dans le dossier EFSRoots de votre projet.

Ensuite pour afficher un BG  il  suffit  d’utiliser la fonction :

Screen peut prendre 2 valeurs : 0 pour afficher le bg dans l’écran du bas, 1 pour l’afficher dans l’écran du haut. Ensuite le reste, c’est comme pour la palib, on donne le numéro du bg entre 0 et 3, suivant la priorité désiré le nom du bg entre guillemet.

Exemple :

Code:
KT_ShowBG(0, 0, “montagne”);   //pour afficher l’arrière plan avec les montagnes ^^



Et pour les dualBg ? C’est possible aussi, mais je vous invite à jeter un œil à l’exemple Kt_LoadBg !


Bon si les binaires sont ailleurs que dans EFSRoot, dans « ledossierquivabien » par exemple, on peut faire

Code:
KT_ShowBG(1, 2, "/Ledossierquivabien/montagne");



1-2- Effacer un Bg

Code:
void KT_DelBG(u16 screen, u16 bg);


Et pour effacer un bg ?  il suffit de mettre l’écran a éffacer : 0,1,ou 2 et le numéro de l’arrière plan

Exemple :

Code:
KT_DelBG(1, 3); // efface le Bg de l’écran du haut en priorité sur l’arriere plan n° 3


ATTENTION !!!  pour récupérer de la mémoire, il est indispensable d’utiliser cette fonction, même après un PA_ResetBgSys() !

En effet, palib gère déjà un buffer d’affichage, et ça pompe encore d’autre mémoire avec EFS, donc la mémoire a vite fait de saturer ! Cette fonction n’est a utiliser qu’avec la fonction KT_ShowBG !


2 -  Les images :

La KT_lib pense à vous ! Il suffit de placer vos images dans le répertoire désigné par EFS, la suite c’est en dessous Azn

2-1 Les gifs

Code:
void KT_LoadGif(int screen, const char* name, s16 x, s16 y);


Pour charger une image gif simple ou animée il faut d’abord initialiser l’écran en 8 bit (PA_Init8bitBg, les contraintes sont toujours les mêmes, ça bouffe un paquet de mémoire. Et allez voir un peu la doc si j’y suis, vous les noobs)

il suffit d’indiquer le l’écran ou on l’affiche, le noms et ca position en x et y

Exemple :

Code:
LoadGif(0,”BartMan”, 100, 126);



2-2 le BMP

Code:
void KT_LoadBmp(int screen, const char* name);



Pour le BMP, il faut d’abord initialiser l’écran en 8 bit, ou 16 bits (ça dépend), ensuite il suffit d’indiquer l’écran ou l’on veut afficher le BMP, le nom (c’est encore plus simple);

Exemple :

Code:
KT_LoadBmp(1, “Cid2Mizard”);



2-3 Le jpeg
 

Code:
void KT_LoadJpeg(int screen, const char* name);



Pour le jpeg, c’est 16 bits (obligé). Il suffit ensuite d’indiquer l’écran ou l’on veut afficher le Jpeg et le nom (comme pour le BMP).

Exemple :

Code:
KT_LoadJpeg(0,”fleurdeschamps”);



Attention, l’image doit présenter les dimensions exactes de 256* 192, sinon ça affiche des trucs bizarres !


Nb : On utilisera pas les fonctions KT_DelBG, pour les images, là, il faut se débrouiller avec la palib Azn


3- Les sprites
 

Code:
void KT_CreateSprite(u8 screen, u8 sprite_number, const char* name, u8  obj_shape, u8 obj_size,  u8 color_mode, u8 palette, u8 erase_palette, s16 x, s16 y);



Voilà une fonction qui apporte un peu de sang neuf !

Bon, alors pour l’utiliser, c’est presque comme pour la fonction creatsprite de la palib, mais il y a plusieurs nouveauté (Mister Kram => un génie qui s’ignore). Celle-ci nous permet de créer un sprite sans être obligé de passé par PA_Gfx, et, en plus simplifie la démarche pour la création de palette.

Tout d’abord, on créé des gifs (on utilise seulement ce format), et on les places dans le répertoire utilisé par EFS. Ce qu’il faut savoir : le rose n’est plus la couleur de transparence ! il faut utiliser de la vrai transparence !

Exemple pour un sprite :

https://images4.hiboox.com/images/3208/8f2350ce537e425f6946d88599eb6749.png  (sprite made in Kram Azn)


Voilà ! il ne faudra pas le convertir dans PA-gfx, juste les placer dans le bon répertoire c’est tout ! Il faudra faire de même avec les sprites animés pour la transparence.

Le reste de la fonction est la même que celle de la palib, à quelques différence prêt :

- Le choix de l’écran : 2 si l’on souhaite les mettre en dual !

- Ce qui change le plus par rapport à la palib : Plus besoin de Créer une palette avec PA_CreatePalette !

Ce qu’il faut savoir : la valeur d’erase_palette peut être 1 ou 0,
1 : creer une palette aux couleurs du gif, et donc supprimer l'ancienne palette n°palette.
0 : ne pas creer de palette. le sprite aura donc les couleurs de l'ancienne palette n°palette, ou il sera tout noir si la palette n°palette n'existe pas.

Si vous pigez pas, allez voir l'exemple fournit avec la lib Azn


Op, un exemple :

Code:
KT_CreateSprite(0,                       // l’écran ou l’on souhaite affiché le sprite (2 pour dual sprite)
                       1,                       // le numéro du sprite
                       "tom",                 // le nom du sprite
                       OBJ_SIZE_32X32,	// la macro de la taille du sprite comme on l’utilise avec la palib ( macro 
                                                //regroupant shape et size)
                       u8 color_mode,	// 256 couleurs avec 1 – 16coul avec 0
                       12,			// le numéro de palette
                       1,                    	// 1 on créer une palette pour ce sprite -  0 on garde l'ancienne palette 
                                                //n°palette (ici n°12) !
                       120,			// position en x
                       200);			// position en y



3- Le Son

3-1 utiliser mikmod

Code:
void KT_PlayMyMod(const char* name);


Bon ben pour jouer un mod, avec Mikmod, il faut bien sur choisir Mikmod comme pluging audio (cf installation), et mettre le mod dans le répertoire utilisé par EFS.
Les formats pris en charge (pour ceux qui ne le savent pas) : .stm .669 .it med .mod .mtm .s3m .xm


Ensuite pour jouer un mod, bah c’est tout bête :

KT_PlayMyMod(“mazik.xm”); // pour jouer le fichier « mazik.xm » par exemple

Ce qu’il faut savoir : le mode est mis en mémoire, donc il est conseiller de libéré cette mémoire quand le mod est fini (ou qu’on l’arrête pour un autre Azn ) pour cela :

Code:
void KT_ModFree();


Exemple :

Code:
KT_ModFree(); // je change de mod, avant, je libère la mémoire


Sinon pour la manipulation de mod, vu qu’ils utilise MikMod, il faudra voir ce que mikmod propose comme fonction pour les pauses et les stops (c’est pas un tuto mikmod hein Azn )


3-2 utiliser As lib

3-2-1- Les mp3

Code:
void KT_PlayMyMP3(const char* name);



Pouer un mp3 via AS_lib,  il faut bien sur choisir AS_lib comme pluging audio (cf installation), et mettre les mp3 dans le répertoire utilisé par EFS.
 

Op re-exemple :
 

Code:
KT_PlayMyMP3(“mabelleZIK”);



Et vala! Pour le reste, on se réfère à l’AS_lib, pour piloter le mp3 à sa sauce Azn. Pas besoin de libéré de la mémoire, car c’est du streaming !


3-2-1- les Raw

Code:
KT_PlayMyRaw(const char* name, u8 volume, u8 pan, u8 loop, u8 prio);


Pour les raw, on va utiliser l’AS_Lib, qui fait bien son ouvrage Azn.

Bon, histoire que vous appreniez à utiliser cette fantastique librairie, je vous explique pas comment on l’utilise : allez voir la doc ! (Toi le noob au fond, débrouille toi un peu, on ne va pas te mâcher tout le travail ! C’est en forgeant qu’on devient forgeron ! c’est comme avec la palib : regarde la doc, et embête tout le monde sur le forum (on est là pour ça !) )


Au début de ce tuto, je vous parlais de fonctions bonus ! Et bien nous allons voir les quelques fonctions originales, puissantes et donc sympatique de la KT_lib (LA lib de nos rêve) ! KT_LIB POOOOOWA !


4- Les vidéos

Et vi vous ne rêvez pas, avec la KT_lib, mettre une vidéo dans son hombrew est aussi simple que d’y mettre... autre chose Azn. Il y a deux trois truc a savoir, après ça ira tout seul !

4-1 Convertir une vidéo pour la DS

Il faut donc déjà convertir votre vidéo avec le logiciel EMC que vous trouverez ici :

https://www.eponasoft.com/EMC.zip

Une fois EMC installé, vous aurez besoin de récupéré quelque programmes :

Il vous faudra installer imageMagick
-- ImageMagick  (https://www.imagemagick.org/script/binary-releases.php#windows)

Et décompresser les autres bricole suivantes dans le dossier TOOLS de EMC :
-- ffmpeg  (https://arrozcru.no-ip.org/ffmpeg_builds/)
-- sox  (https://sox.sourceforge.net/)
-- mencoder  (https://sourceforge.net/project/showfiles.php?group_id=205275&package_id=248631&release_id=554973)
Ensuite, aux milieux de tout plein de fichier dans le dossier tool d’EMC, vous trouverez le convertisseur EMCConvertDS.

Ouvrez le convertiseur, un bouton « browse » vous permet de choisir la vidéo de votre choix (un bon paquet de formats est pris en charge) et il vous sortira deux fichiers : un .EMC qui est la vidéo et un .RAW pour le son qui est malheureusement vide (é_è).

Pour le son, je vous refile la méthode pour que cela fonctionne :

Il nous faut simplement utiliser un logiciel qui capture le son de la vidéo et nous le ressort en mp3 ! Je vous conseil pour cela d’utiliser un truc comme super, qui est vraiment super et qu’on trouve super facilement sur google : c’est super !


4-2 Lire une vidéo

Code:
void KT_PlayMyVideo(char * name, u8 screen, int speed, int enable_sound);


Cette fonction à besoin de l’AS_lib pour fonctionner SI VOUS UTILISEZ LE SON ! Dans ce cas il faudra inclure AS_lib soit début de votre main.c avec l’include correspondant :

Code:
#include "as_lib9.h"


Ensuite, dans votre main, avant d’utiliser la fonction, il faut bien sur initialiser l’AS lib :

Code:
PA_InitASLibForMP3(AS_MODE_MP3 | AS_MODE_SURROUND | AS_MODE_16CH);


Avant d’utiliser la fonction de vidéo, il faut initialiser un écran en 16bit avec PA_Init16bitBg

Ensuite dans les paramètres de la fonction :

0n donne le nom du fichier EFS, l’écran ou la vidéo va être joué.
Le paramètre speed, permet de jouer sur la vitesse de rafraichissement de la vidéo, ce qui sera important pour « régler » la synchronisation avec le son ! En effet, pour l’instant, Kram n’a pas trouvé de meilleur moyen pour régler la synchro, surtout que suivant la qualité de la vidéo, la vitesse d’affichage sera différente… Ce paramètre va donc surtout nous permettre de synchroniser la vidéo avec le son.
Le paramètre enable_sound permet d’avoir du son ou non. Alors ce qu’il faut savoir : 0 si on ne veux pas de son, et 1 si l’on veux le son (donc on inclut et initialise AS_lib) !

En attendant, un exemple :

Code:
PA_Init16bitBg (1, 1) ;
KT_PlayMyVideo("TAXI",0,100, 0);


ATTENTION deux choses super importantes pour cette fonction :

Pour que ca marche, il faut que le fichier vidéo .EMC (dans l’exemple « TAXI.EMC ») soit dans le même dossier que le fichier son en MP3, et le MP3 doit impérativement être nommé comme le .EMC (donc dans l’exemple : « TAXI.MP3 »)
Enfin, quand la vidéo est lancée, on ne peut rien faire avant qu’elle soit fini ! même pas pause !!! (pour ça faut voir en bas^^).


4-2 Lire une video et faire ce que l’on veux en meme temps

Code:
void KT_StreamPlayMyVideo(const char name, int screen);

int KT_IsStreamVideoPlaying(void);

void KT_StopStreamVideo(void);

void KT_StreamVideoUpdate(void);



Voila, c’est probablement le truc le plus compliqué de la lib, mais vous verrez, Kram a fait un truc puissant pour pouvoir manipuler simplement la vidéo pendant qu’on fait autre chose ! Vous pourrez bouger des sprites, des BG etc tout cela en même temps grâce aux quatre fonctions ci-dessus !

Le principe est simple : on lance la vidéo avec la fonction de streaming, puis dans la boucle qui fait tourné le programme, on rafraichit à chaque vbl la vidéo avec une fonction update.
Note : la DS tourne alors à 15 FPS !

Exemple : 

Code:
KT_StreamPlayMyVideo("NewDS", 1); 	// on lance la vidéo

while(1){					// la boucle qui fait tourné votre programme
KT_StreamVideoUpdate();			// la video est rafraichit à … 	
PA_WaitForVBL();				// …chaque VBL : de cette manière, on fait tout ce qu’on 
}						// a coté!



Il vous est donc possible de faire des pause, avec une variable « play » par exemple :
 

Code:
KT_StreamPlayMyVideo("NewDS", 1);

while(1)
{
if(play==1) KT_StreamVideoUpdate(); //Si play=0, la video n'est pas actualisée : elle est en pause.
PA_WaitForVBL();
}



Enfin, vous pourrez faire également stopper de la video, mais je vous propose de regarder l’exemple de
video avec la KT_lib !


Et vala! Pour info, il s'agit de la version 1! En fait, d'autre fonctions (super sympa sont prévu) mais ca sera pour la V2! Et promis, la V2 sera compatible V1!

Je tiens a remercier KRAM pour son boulot de dingue! Il est méga cool comme collaborateur  Cheesy !
Mais je n'oublie pas non plus de remercier toute la communoté DEV-Fr! C'est dingue, vous êtes vraiment nombreux avoir contribué à la sortie de cette lib, en donnant des petits coups de mains a Kram et à moi même! C'est ca la communauté POWAAAAA!

A très bientôt pour la V2  Wink

 

[EDIT] :
Mise à jour : (à la demande générale) Ajout des fonctions :
 

Code:
void KT_ResetSpriteSys(void);

void KT_ResetSpriteSysScreen(int screen);

void KT_ResetBgSys(void);

void KT_ResetBgSysScreen(int screen);
 

[EDIT 2] :

Une mise à jour de la lib !
J'ai corrigé un bug avec les sprites, lorsqu'ils sont animés... et j'ai ajouté quelques fonctions !

Voilà la liste !
 

Code
(c):
void KT_Init(void)

Initialise KT_lib, à utiliser une seule fois, après "PA_Init();".
Par défaut, la lib utilise EFS.
 

Code
(c):
void KT_UseEFS(void);

Pour que la lib utilise EFS.
 

Code
(c):
void KT_UseFAT(void);

Pour que la lib utilise FAT.
 

Code
(c):
void KT_DeleteSprite(u8 screen, u8 sprite_number);

Pour effacer un sprite : obligatoire pour libérer de la mémoire.
 

Code
(c):
int KT_GetFrameCount(char * name);

Renvoi le nombre de frame de la vidéo.
 

Code
(c):
int KT_GetCurrentFrame(void);

Renvoi le numéro de la frame affichée.
 

Code
(c):
void KT_SetCurrentFrame(int frame);

Placer la vidéo sur la frame n°frame.

Topic: KT_Lib

Date
Par
Sujet

KT_Lib et nouvelle version de PA_LIB

Bonjour ToiletKing,

en faisant des recherches sur AS_Lib, je suis tombé sur ta librairie KT_Lib.
Je dis Nickel !, c'est exactement ce que je recherche.... très bonne idée et très bon boulot !

Cependant, après exécution des exemples, je me suis rendu compte que ceux avec As_Lib ne fonctionnaient pas sur ma version de PA_Lib..., la faute à la ligne PA_InitASLibForMP3(...)
En recherchant sur les forums, je me suis rendu compte qu'il fallait changer cette ligne en:

/* Init AS_Lib for mp3s */
PA_VBLFunctionInit(AS_SoundVBL);
AS_Init(AS_MODE_MP3 | AS_MODE_SURROUND | AS_MODE_16CH);
AS_SetDefaultSettings(AS_PCM_8BIT, 11025, AS_SURROUND);

cependant, malgré ce changement, les mp3/raw ne se jouent toujours pas ;-((

As-tu une idée de ce qui ne va pas ?

et d'autres questions:
Une nouvelle version de la KT_lib est-elle prévue ? si oui, pour quand ?
Le blog ainsi que ta participation à des forums semblent s'être etteints. Trop occupé ?

en tout cas merci pour ta superbe lib !!!

Rechercher dans le site

© 2008 Tous droits réservés.