Forum Programmation.c incompréhensible - utilisation d'ALSA

Posté par  .
Étiquettes : aucune
0
27
mar.
2006
Bonjour,

je tente d'écrire un soft devant lire/écrire à partir de la carte son en utilisant ALSA. Je pars du tutoriel http://www.equalarea.com/paul/alsa-audio.html

Mon code qui pose problème est :

#include "string.h";
#include "stdio.h";
#include "stdlib.h";
#include "alsa/asoundlib.h";

int main(int argc, char *argv[]){
printf("debut\n");
snd_pcm_hw_params_t *hw_params;
int i;
int err;
int dir=0;
int rate=44100;

short buf[128];


/*ON LIT*/
snd_pcm_t *capture_handle;

if ((err = snd_pcm_open (&capture_handle, "hw:0,0", SND_PCM_STREAM_CAPTURE, 0)) < 0) {
fprintf (stderr, "cannot open audio device %s (%s)\n",
argv[1],
snd_strerror (…)

Forum Programmation.c SDL

Posté par  .
Étiquettes : aucune
0
4
août
2004
j'ai téléchargé SDL, dans un linux mag, il y avait un bout de code pour faire un pong en C, je voulais faire des programmes graphiques.
je me suis un peu renseigné sur quelle librairie utiliser, SDL est portable donc parfaite... (racourci...)

Donc, je télécharge SDL-1.2.6.tar.gz et je décompresse, je fais ./configure puis make et la, quelques messages d'erreurs aparaissent...


SDL_alsa_audio.c: In function `ALSA_OpenAudio':
SDL_alsa_audio.c:272: error: too few arguments to function `snd_pcm_hw_params_get_channels'
SDL_alsa_audio.c:282: warning: passing arg 3 of `snd_pcm_hw_params_set_rate_near' makes (…)

Forum Programmation.c Occupation CPU

Posté par  .
Étiquettes : aucune
0
5
août
2004
Salut à vous,
Je suis en train de coder un petit serveur en utilisant les pthreads. Le problème, c'est que le thread faisant tourner la fonction serveur utilise 99% du CPU, à cause des i/o non bloquantes. Le code ressemble à ça :

void *server(void)
{
....while ( contrôle du serveur)
....{
......../* Prépare le select à grand coup de FD_SET */
......../* Prépare la structure timeval, avec un timeout de 5000 uS */
........select
......../* Teste le set de (…)

Forum Programmation.c ecrire la liste des processus utilisateurs dans un fichier texte

Posté par  .
Étiquettes : aucune
0
8
août
2004
Salut à tous,
j'ai un problème, j'aimerai écrire la liste des processus d'un utilisateur dans un fichier et recuperer aléatoirement deux de ces numeros. je suis bloqué au niveau de la création du fichier. J'utilise le code suivant:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main ()
{
/* Liste des arguments passés à l'appel system execvp*/
char* arg_list[] = {
"ps", /* nom du programme.*/
"-u",
"gadiri", //nom d'un utilisateur
"-o",
"pid",
"--no-headers",
">id_proc.txt", /* redirection vers (…)

Forum Programmation.c RAD

Posté par  .
Étiquettes : aucune
0
9
août
2004
Bonjour à tous,

J'ai quasiment achevé mon application serveur, je dois maintenant penser à l'élaboration du client graphique. L'idéal serait qu'il soit portable Linux, Win32 et MacOS. Je suis assez tenté par Gambas, qui me permettrait d'aller très vite, mais je ne sais pas s'il est possible de compiler du code Gambas sous Win32 ni MacOS...
Je souhaiterais avoir vos impressions sur les outils RAD que vous utilisez pour faire mon choix.
J'ai googlé un peu et les IDE suivantes (…)

Forum Programmation.c Lecture sur un périphérique

Posté par  .
Étiquettes : aucune
0
22
mai
2006
Bonjours,

Je travaille actuellement sur un programme qui lit les valeurs des axes d'un joystick.

Mon problème est que ce programme ne lit ces valeurs que occasionnellement, et comme le device est géré de manière comparable a un FIFO, je me retrouve avec une valeur de l'axe qui n'est plus du tout d'actualité.

J'aimerais pouvoir obtenir la valeur correspondant au dernier event du joystick.

J'ai envisager plusieurs possibilités:

- "lseek(device_fd,-sizeof(struct js_event),SEEK_END)" mais ça n'a aucun résultat

- Emission d'un signal (…)

Forum Programmation.c Xlib et aggrandissement de fenetre...

Posté par  .
Étiquettes : aucune
0
2
juin
2006
Bonjour :D

Je sais pas si c'est très clair alors je mets une capture d'écran :

http://muzu.free.fr/probleme_xlib.jpg

Voila, j'ai essayé des tonnes de trucs, passé quelques heures sur google mais j'ai toujours le même problème : quand je redimensionne la fenêtre (en passant par la bordure du gestionnaire de fenêtre), la bordure du wm s'agrandit bien comme il faut mais le contenu lui même de la fenêtre ne bouge pas et dans le nouvel espace est transparent! (même pas tout (…)

Forum Programmation.c SDL desactiver touche clavier

Posté par  .
Étiquettes : aucune
0
20
juin
2006
salut à tous,

j'aimerais avoir si l'un d'entre vous saurait par hasard désactiver les fonctionnalités d'un clavier(style print screen, numlock) avec la librairie SDL ou en tapant une commande avt de lancer le programme?

Forum Programmation.c AM1771

Posté par  .
Étiquettes : aucune
0
10
août
2004
Bonjour,
Nouveau venu sur LinuxFr, je cherche à recompiler sur Suse 9.1 (2.6) le driver pour carte wireless :

0000:00:08.0 RF controller: Advanced Micro Devices [AMD] Am 1771 MBW [Alchemy] (rev 04)
Subsystem: Unknown device 17cf:0031
Flags: bus master, slow devsel, latency 32, IRQ 11
Memory at ef000000 (32-bit, non-prefetchable)
Capabilities: [48] Power Management version 2

J'ai bien réussi en Suse 9.0 (2.4), par contre en 2.6 !!!
J'ai lu sur différents forums qu'il faut migrer les sources de 2.4 (…)

Forum Programmation.c 2910

Posté par  .
Étiquettes : aucune
0
10
août
2004
Bonjour tous le monde.

voila j'aimerai pouvoir utilisé le plugin de visualisation JESS pour xmms
mais qu'il réagisse sur l'entrée Line-in.j'ai donc recherché un plugin Input pour xmms pour gerer ça mais je n'ai pas trouvé.

j'ai donc envisagé plusieurs solutions :

- créer mon plugin Input

- Me servir du plugin JESS et écrire le programme maitre.

- faire un serveur de streaming audio pour récupérer le flux dans xmms

voila je ne sais pas si mes propositions sont (…)

Forum Programmation.c Projet utilisant libglade

Posté par  (site web personnel) .
Étiquettes : aucune
0
11
août
2004
Bonjour,

Je suis à la recherche d'un petit projet utilisant libglade[1].

En effet, j'ai regarder la source de dlume[2], il m'interessait car il utilisait une interface gtk et gerait des données xml.

Seulement faire l'interface gtk "à la main" c'est vite le bordel.

J'ai entendu parler de libglade c'en jamais reussir à le faire fonctionner correctement.
Je me suis donc mis à la recherche d'un projet similaire à dlume mais qui utilise libglade.

Mais, comment trouver un tel projet?
Y'a (…)

Forum Programmation.c Sémaphore SystemV...

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
10
août
2004
Bonjour,


Mon programme C est confronté à un problème typique de readers/writers devant accéder à la même ressource.

J'utilise donc les sémaphores et j'en crée deux dans le main :

semid = semget (IPC_PRIVATE, 2, 0666);
if (semid < 0)
{
perror("semget planté");
exit(EXIT_FAILURE);
}
up(0);
up(1);


La fonction up est


int up(int sem_nbr)
{
struct sembuf buf;
buf.sem_num = sem_nbr;
buf.sem_op = 1;
if ((semop(semid, &buf, 1)) < 0)
{
printf("semup failed on %d!!\n", sem_nbr);
fflush(NULL);
exit(EXIT_FAILURE);
}
printf("Up (…)

Forum Programmation.c appel system execve dans fonction du noyau

Posté par  .
Étiquettes : aucune
0
12
août
2004
salut à tous,
je voulais demander s'il est possible d'utiliser un appel system ( comme execve) dans un appel system que je veux ajouter dans un noyau linux . l'appel est du type:
#include <linux/linkage.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/unistd.h>

char *chemin[2];
char *arg_list[2];

asmlinkage int sys_mon_appel(int arg1, char* arg2){
char *chemin[0]="PATH=/home/gadiri";
char *chemin[1]=NULL;
char *arg_list[0]="./program";
char *arg_list[1]=NULL"
/*
--

*/
_syscall3(int,execve,const char *,filename,const char * ,arg_list,char *const,env); /*macro qui permet d'invoquer l'appel system dans l'espace noyau.
execve("./program",arg_list,chemin) ;

(…)

Forum Programmation.c Plugins

Posté par  .
Étiquettes : aucune
0
11
août
2004
Bonjour à tous,
Toujours dans le cadre du développement de mon petit serveur, je suis amené à utiliser des plugins (pour lui permettre d'utiliser plusieurs protocoles simultanément). J'ouvre donc le plugin avec dlopen(), puis je cherche le symbole de la fonction ProtoIni() qui retourne un tableau contenant des pointeurs vers les fonctions du plugin. Et là, je me pose une question existentielle : est-ce que ces pointeurs restent valides après un dlclose() ? Sont-ils même encore valides quand je les (…)

Forum Programmation.c Trouver des serveurs

Posté par  .
Étiquettes : aucune
0
13
août
2004
Dans pas mal de jeux ou d'autres applications réseau, on peut facilement obtenir une liste des serveurs actifs. Pour l'instant, j'update une liste d'ip sur mon ftp et je note son adresse dans un fichier de conf pour y accéder, mais ça ne me satisfait pas du tout : pas propre, pas sécurisé, pas évolutif... Comment ce genre de 'détection' se programme ?

Forum Programmation.c Plugin gaim pour ggz

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
août
2004
S'lu tlm

Explication du titre:
Je cherche à faire un plugin pour gaim de ggz(j'ai remarqué, par rapport à l'époque où ma soeur était encore sous windows avec msn messenger, qu'elle utilisait plus souvent les jeux que la conférence (que ce soit sonore ou visuel))(GGZ=GGZ Gaming Zone[1])
Seulement voilà bien que je sache plus ou moins programmer en C, je ne sais absolument pas faire de plugin gaim, j'envisage de regarder les plugins deja existant mais quand je vois que (…)

Forum Programmation.c bug gcc ? ou je n'y comprend plus rien ...

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
sept.
2006
Bonsoir,

J'ai un drôle de truc qui m'arrive dans mon projet ... Lorsque j'utilise un débuger pour voir ce qui se passe, lorsque l'instruction return NULL; est exécutée à la fin d'une fonction, j'ai un NULL qui vient se mettre quelque part dans ma structure de donnée. Je n'y comprend rien.
J'ai bien vérifié, du coté où on appelle la fonction, le résultat arrive dans une variable toute neuve, je n'y comprend rien.

je me demande si ce ne serait (…)

Forum Programmation.c Probleme de communication UDP

Posté par  .
Étiquettes : aucune
0
27
sept.
2006
Salut !


J'ai un soucis: J'utilise une red hat enterprise 4 et j'essaye de faire un server/client udp.
Or lorsque j'envoie un tableau de 64Ko, seul 1000 octets sont envoyé (sendto retourne 1000). Si je compile le meme soft sous cygwin, et bien ca envoie bien 64Ko. Derniere étape: client sous cygwin et serveur sous linux => le client cygwin envoie bien 64Ko mais le serveur sous linux recoit 1000 octets (recvfrom retourne 1000).

Je ne comprends pas trop...

Voici (…)