wav2gp est un nouveau convertisseur de wav->c/sef vu que pour l'instant, aucun des convertisseurs disponible ne marche corretement (gp32converter limite la taille des sons et tiny tool gp32 convertit les sons en une qualité de merde) et c2bin est un programme qui permet de convertir des tableaux C en un fichier binaire (ca peut servir par exemple pour convertir des images 320*240*16 bits en un fichier vu que ni gp32converter ni tiny tool gp32 ne permetent de convertir des images 320*240*16 bits en .gpg (ca merde pendant la conversion) alors que en .c ca marche).
ces deux fantastiques outils sont dispos sur
www.multimania.com/illusionstudio/aquafish/
arf enfin, le log pour le son marche bien? v tester ca ^^
y'a d'autre outils que gp32converter et tiny tool aussi ^^
y'a GpDevUtilV20 qui fonctionne tres bien, et ce pour n'importe quoi.
pourquoi la mort ? parce qu'elle nous est si douce, au contraire de la vie :)
Yo merci aqua ^^
et sinon j'arrive pas à afficher une image 24bits et un son en simultanée.
Et de plus mon son deconne et le stream s'arrete pas.. tu as un code qui detecte les propriété du son ?
comment tu configurais tes sons pour gp32war ? 8,16 bits ? 44,22hz ??
car en fait le stream s'arrete pas et on dirait que le stream lit toute la smc d'un coups arf ^^
donc si tu as des ptits tuyaux ^^
sinon j'essaye de lire du wav avec ça :
à l'origine c pour lire un gpg ou un sef ( c pareil y parrait )
mais bon y'a le header du wav qui change ^^
j'ai vu que c'était 44
mais bon j'arrive pas à avoir un son.. quelqu'un peut m'aider ?
unsigned char *intro;
unsigned char *get_gpg(char *filename)
{
unsigned char *data;
F_HANDLE hfile;
unsigned long p_read_count;
unsigned long fsize;
hfile = NULL;
if(SM_OK != GpFileOpen(filename, OPEN_R, &hfile))
{
char buffer[2000] ;
sprintf(buffer,"get_gpg : error|file not found\n%s",filename) ;
return NULL ;
}
GpFileGetSize(filename, &fsize);
GpFileSeek(hfile, FROM_BEGIN, 45, 0); // skip header
data = gm_zi_malloc(fsize-45); // * sizeof(ushort)
GpFileRead(hfile, data, fsize-45, &p_read_count);
GpFileClose(hfile);
return (data);
}
GpPcmInit(PCM_S22,PCM_8BIT);
intro= get_gpg("gp:\gpmm\start.wav") ; //on charge le fichier
for(;;)
{
refresh_key();
GpPcmPlay((unsigned short*)intro, sizeof(intro), 0);
}
merci à fag pour le tut
( j'ai mis 44 au ieu de 45, le 45 ct un test ^^ )
la boucle dans le gpmain.
deja, tu t'en fou du header, tu peux les lire et tu verra pas la différence..
pour ton code la, essaye de virer la boucle...
et pour le stream, essaie avec qqchose de moins gros le 44khz (22khz, 8 bits mono c parfait), ca devrait marcher mieux je pense...
bin le wav par exemple 44kz, 16 bits stereo, lit 44100*2*2 (= beaucoup) octets par secondes, alors les 40 octets du header, il les lit avec mais c tellement petit que tu les entend pas... d'ailleur, meme dans la lib du stream faite par gp, y lit le header avec sans s'en soucier...