<![CDATA[Forum Ubuntu-fr.org / [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?id=1404511 Fri, 07 Feb 2014 07:40:31 +0000 FluxBB <![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15972441#p15972441 Bonjour,
Bof c'est du sentiment, j'essaie d'éviter les terrains des croyances, je cherche juste à me défendre quand un intervenant viens dire qu'il faut que j'associe les idées de telle ou telle manière.
J'essaie aussi d'éviter les croyances quand des intervenants disent que mes actes ne servent à rien, car ceux-ci ont toujours trouvés une application directe auprès d'une ou plusieurs personnes.
Et je ne sais pourquoi, dès que j"arrive à apporter une solution à une personne, je suis contents. C'est mon caractère, et je n'ai pas à le défendre en allant cherché que telle ou telle référence de spécialiste tux mets en avant en bien le format audio dévalorisé ci-dessus. Je ne cherche pas à faire quelque chose de simple ou de compliqué et peu importe. Je cherche à passer de bons moments et proposer des solutions que j'envisage. Et sincèrement, le forum pour moi est super, car j'y trouve plein d'informations pratiques que je suis libre de choisir et toute sorte de caractère. Je ne veux pas changer les caractères ou les croyances, je viens passer sur le forum un bon moment et peu importe si certains pensent que je suis mal habillé ou que je ne marche pas comme il voudrait. A aucun moment, je dis qu'il faut penser comme moi, mais j'ai le droit de dire ce que je pense et d'écouter ce que pense les autres.
Oui, c'est vrai que le plus beau des discourt, n'est jamais qu'une suite de sons, c'est vrai que les plus grandes toiles de maitres ne sont qu'un peu de matière pastichée, c'est vrai que le code le plus simple et le plus efficace sur tel type de technologie n'est qu'une association de caractères mais parfois certains y voient autre chose.
Cordialement

]]>
Fri, 07 Feb 2014 07:40:31 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15972441#p15972441
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15970221#p15970221 ouais bofff, un switch case qui appel une fonction system pour jouer un son, c'est pas vraiment ce qu'on appel qq choses de puissants et bien codés.
ton code fait peut etre qq lignes mais il fait appel a mon avis à un sacré nombre de librairies et d'appel system et surement pour rien en plus.

on peut tres bien faire un algo de logique pur et le codé proprement, bien indenté. l'important c'est l'algo pas l'outil, mais si tu vx que ton code survive et soit repris, tu as pas le choix.

C'est bien beau tes théories sur les méthodes qui limitent l'ingéniosité et l'imagination, faut dire que tu ne te prives pas pour nous rabacher ta vision, mais pour l'instant, ton code casse pas des briques et coté imagination, c'est guère mieux... pour moi un soft qui joue un son suivant une série de caractères, ça casse pas 3 pattes à un canard. au mieux un bon exercice de codage pour débutant.
En fait tu caches derrière tes pseudos théories tout ce que tu ne maitrises pas ou ne comprends pas ...

Le jour où tu prouveras que tu as vraiment fait qq chose de fantastiques, on pourra lancer le débat sur ta méthodologie, en attendant, nos méthodes sont celles qui sont utilisés par la majorité des informaticiens, et ont entre autres permis d'avoir ce forum, le compilo que tu utilises, linux... et envoyer qq mecs autour de la lune...

]]>
Thu, 06 Feb 2014 21:28:57 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15970221#p15970221
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15968551#p15968551 Bonjour,
Je ne pense pas que ces termes soient justes

la durée de vie est bornée par la durée de vie et l'intérêt de son auteur

Je pense que cette approche est limitative et impose une manière d'ajuster les idées qui mène à l'abrutissement.
Je pense que ce qui importe, c'est l'utilité et peu importe que le plus utile soit apporté par un tel ou un tel, de telle ou telle manière.
Je dirais même que plus l'utilité est écrite de manière imparfaite, plus cela pousse à modifier à sa façon, ce qui pousse l'utilité à être de plus en plus utile.

En d'autres mots, ce qui importe c'est ce qu'apporte le code et le fait que le pourquoi de sa création soit expliqué (sa raison logique).

En plus simple encore ce qui importe, c'est un truc efficace et un peu de logique pure. Avec ça l'un va coder sur telle ou telle technologie avec tel ou tel langage, un autre pourra faire la même chose tout en ayant des outils et des idées d'utilisation d'outil totalement différents.
J'ai suivit quelques mutations technologiques et si nous devions encore coder pour respecter les lois du wrapping il n'existerai pas le goto, bien utile.

Je mène avec quelques amis ce projet depuis presque 4 ans, et je n'ai même pas encore dévoilé un soupçon de sa puissance, pourtant j'écris déja des mélodies avec quelques centaines d'octets. Je pense que ce qui importe, c'est d'arriver à prouver la puissance des techniques.

]]>
Thu, 06 Feb 2014 18:54:05 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15968551#p15968551
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15968361#p15968361 Ou alors: Ranger en fonction du nombre d'accollade en s'assurant que:

le second niveau est toujours une fonction ou une variable partagée (par les fonctions qui sont groupées avec) qui porte un nom concis et expressif du contenu de la fonction

Le premier niveau est une classe (si tu fais de l'objet) qui contient des fonctions et variables partagées (on pourrait appeler ça "attributs") qui porte elle même un nom concis et expressif de ce qu'elle regroupe.

À noter que ce que je décris là est la différence entre un projet développé par quelqu'un dans son coin et dont la durée de vie est bornée par la durée de vie et l'intérêt de son auteur. et un projet capable de survivre à l'intérêt de son auteur ou d'être codé par plusieurs personnes. (et parfois même des centaines de gens dont seulement une poignée se sont rencontrés en vrai.

]]>
Thu, 06 Feb 2014 18:34:03 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15968361#p15968361
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15968161#p15968161 Bonjour,
Très jolie graphisme.
L'idée serait plutot de placer les lignes de codes en fonction du niveau d'action sur les effets en plaçant les effets semblables ou presque au même niveau, et non pas en fonction d'un nombre d'accolades ou autre.
mais pour faire ça il faut en premier commenter pour indiquer comment sont placer les lignes, essayer de trouver un graphisme qui montre les interactions des sorties ... l'idée serait plutot d'écrire le code sous la forme d'un schéma logique et qu'une simple vue d'ensemble puisse mettre les actions en évidence. Je suis sure que si je gratte, c'est quelque chose qui doit déja exister, la particularité de la technique est qu'il est d'évidence que ce type de rangement soit difficilement automatisable car cela nécessite de l'entendement sur la raison d'être du code.

Cordialement

]]>
Thu, 06 Feb 2014 18:02:05 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15968161#p15968161
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15966211#p15966211 Bonjour,

C'est vrai ça, pourquoi indenter le code ?

Tiré du célèbre The International Obfuscated C Code Contest ...

char*_ = "'""/*";
#include <stdio.h>
#define m 21
#define o(l, k) for(l=0; l<k; l++)
#define n(k) o(T, k)


              int E,L,O,R,G[42][m],h[2][42][m],g[3][8],c
              [42][42][2],f[42]; char d[42]; void v( int
              b,int a,int j){ printf("\33[%d;%df\33[4%d"
              "m  ",a,b,j); } void u(){ int T,e; n(42)o(
              e,m)if(h[0][T][e]-h[1][T][e]){ v(e+4+e,T+2
              ,h[0][T][e]+1?h[0][T][e]:0); h[1][T][e]=h[
              0][T][e]; } fflush(stdout); } void q(int l
                            ,int k,int p){
                            int T,e,a; L=0
                            ; O=1; while(O
                            ){ n(4&&L){ e=
                            k+c[l] [T][0];
                            h[0][L-1+c[l][
                            T][1]][p?20-e:
e]=-1; } n(4){                                          e=k+c[l][T][0]; a=L+c[l][T][
1]+1; if(a==42                                          || h[0][a][p?20-e:e]+1){ O=0
; } } n(4){ e=                                          k+c[l][T][0]; h[0][L + c[l][
T][1]][p?20-e:                                          e]=g[1][f[p?19+l:l]]; } L++;
u(); } n(42) {                                          o(e,m)if(h[0][T][e]<0)break;
o(a, m&&e==m){                                          for(L=T; L; L--) { h[0][L][a
]=h[0][L-1] [a                                          ]; } h[0][0][a]=-1; } } u();
}int main(){ int T,e,t,r,i,s              ,D,V,K; printf("\33[2J\33[?25l"); n(8)g[i=
1][T]=7-T; R--; n(42) o(e,m)              G[T][e]--; while(fgets(d,42,stdin)) { r=++
R; n(17){ e=d[T]-48; d[T]=0;              if ((e&7)==e) { g[0][e] ++; G[R][T+2]=e; }
} } n(8)if(g[0][7-T]){ t=g[i              ][O]; g[i][O++]=g[i][T]; g[i][T]=t; } n(8)
g[2][g[i][T]]=T; n(R+i)o(e,m              )if(G[T][e]+i) G[T][e]=g[2][G[T][e]]; n(19
)o(t,2){ f[T+t+T]=(T["+%#,4"              "5>GP9$5-,#C?NX"]-35)>>t*3&7; o(e,4){ c[T]
[e][t]=("5'<$=$8)Ih$=h9i8'9"              "t=)83)l4(99(g9>##>4(" [T+t+T]-35)>>e*2&3;
} } n(15) { s=T>9?m:(T&3)-3?15:36;o(e,s)o(t,2)c[T+19][e][t]="6*6,8*6.608.6264826668\
865::(+;0(6+6-6/8,61638065678469.;88))()3(6,8*6.608.6264826668865:+;4)-*6-6/616365,\
-6715690.5;,89,81+,(023096/:40(8-7751)2)65;695(855(+*8)+;4**+4(((6.608.626482666886\
5:+;4+4)0(8)6/61638065678469.;88)-4,4*8+4(((60(/6264826668865:+;4-616365676993-9:54\
+-14).;./347.+18*):1;-*0-975/)936.+:4*,80987(887(0(*)4.*""/4,4*8+4(((6264826668865:\
+;4/4-4+8-4)0(8)6365678469.;88)1/(6*6,6.60626466686:8)8-8*818.8582/9863(+;/""*6,6.6\
0626466686:4(8)8-8*818.8582/9863(+;/,6.60626466686:8-818.8582/9864*4+4(0())+;/.6062\
6466686:8/8380/7844,4-4*4+4(0())69+;/0626466686:818582/9864.4/4,4-4*4+4(0())+;" [e+E
+e+t]-40; E+=s+s; } n(45){ if(T>i) { v(2,T,7); v(46,T,7); } v(2+T,44,7); } T=0; o(e,
42)o(t,m)h[T][e][t]--; while(R+i) { s = D=0; if (r-R) { n(19) if (G[R+i][T]+i) V=T/2
; else if(G[R][T]+i) s++; if(s) { if(V>4){ V=9-V; D++; } V+=29; n(20) q(c[V][T][0],c
[V][T][i],D); } } n(19) if((L=G[R][T])+i) { O=T-L; e=O>9; t=e?18-O :O; o(K,((t&3)-3?
16:37)){ if(K){ L=c[t+19][K-i][0]; O=c[t+19][K-i][i] ; } q(L,O,K && e); } } if(s) q(
c[V][20][0], c[V][20][i], D); R--; } printf("\33[47;1f\33[?25h\33[40m"); return 0; }

... mais là c'est du grand art au vu de ce que le programme, après compilation sans warning, réalise ;-)

NB: Tous les projets de l'année 2013 disponibles ici : All of the data for 2013


Cordialement, A+
--
Claudius

]]>
Thu, 06 Feb 2014 15:07:26 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15966211#p15966211
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15964681#p15964681 tu te prends la tête la où il ne faut pas :
indenter du code c'est pour pouvoir facilement le relire et le partager.
Si tu l'indentes pas et que tu reviens qq temps apres sur ton code, tu auras forcément des difficultés à trouver les débuts et fins de blocs.
Tu ne rencontres peut etre pas le pb actuellement car tu as peu de lignes de code et que tu reviens souvent dessus.

tu n'es pas obligé d'indenter tous les langages de la meme maniere mais au sein d'un meme fichier, il faut etre cohérent.
d'autant plus que tu as le souhait de le partager.
Ce n'est pas rentrer dans un moule, c'est juste pratique...

En gros ce que tu nous as dit c'est que c'est le bordel dans ton cerveau et que ton code reflète cet état.

]]>
Thu, 06 Feb 2014 13:39:45 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15964681#p15964681
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15961271#p15961271 Bonjour,
En relisant mon dernier poste, je m’aperçois que je me suis mal exprimer. Pour moi c'est évident que non, mais d'autres pourrait penser qu'il est facile de taper une ligne de code pour changer l'aspect avant de poster.
Je vais essayer de mieux exprimer pourquoi il me faut du temps avant de mettre en forme les codes.
En exemple sur l'audio, quelles sont les lois qui font qu'on entend tel son ou tel son ? sont-elles physiques ? sont-elles physiologiques ? sont-elles de l'entendement dues au cerveau humain, donc de l'interprétation ? ou encore un mélange en tel ou tel proportion de physique, de physiologique et d'entendements ?
Et oui, sur mes codes c'est pareil, il y a plusieurs langages, et plusieurs applications en équilibres, envoyer une forme d'intentation, reviendrai à prendre une image en 2 dimensions d'un systèmes en contenant bien plus et donc masquerait la réalité. Nous interprétons une photo 2d en 4D car le cerveau sait corriger la troisième dimension spaciale et la variation du au temps, mais dans mes codes le cerveau n'a pas l'habitude. Ainsi orienter mes codes à l'aide d'une image qui n'ouvre pas les réalités ouvertes, les feraient aborder d'une manière incompréhensibles. C'est pourquoi, quand j'aurait le temps, je trouverait une technique afin de présenter les codes pour faire ressortir les équilibres.

C'est pas évident ce que je viens de chercher à exprimer, mais en analysant comment j'ai construit le moteur de recherche système expert et en l'utilisant, les termes que j'ai employé ci-dessus deviennent beaucoup plus claires.

Cordialement

]]>
Thu, 06 Feb 2014 04:11:57 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15961271#p15961271
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15961241#p15961241 Bonjour,
Merci pour le commentaire.
C'est vrai qu'il existe des outils pour améliorer la présentation visuel.
Le problème c'est le temps qui me manque. Je code tout sans outils de manière à ne pas être orienté.
Ma démarche actuelle est de mettre un peu chaque jour mon savoir en ligne en passant par :
1- un tableur qui montre comment est construit tel son et de mettre le son sur wikimedia
2- développer un peu sous windows de manière à essayer de trouver une source financière pour mes projets libres
3- améliorer un peu les codes de lm3jo, écrire les explications et mettre sur les forum ubuntu, kubuntu, xubuntu comment je fais (retour d'info)

C'est vrai qu'il existe des outils pour mieux présenter, mais dès que j'ai un moment je reprends la partie hard (carte audio linux en pause manque de temps), ensuite je passe à la partie communication en cherchant à apprendre à utiliser les outils pour mieux communiquer. Mais à regret actuellement ce n'est pas d'actualité. Si quelqu'un veut entrer dans le projet pour le faire, il est le bienvenue les codes sont en lignes.

Cordialement

]]>
Thu, 06 Feb 2014 03:33:03 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15961241#p15961241
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15957751#p15957751 Bonjour,

En marge du sujet présenté, ne pourrais-tu pas indenter le code suivant certaines règles établies (cf. Style d'Indentation) avec des outils comme bcpp ou autres et qui donnent sur un extrait dudit code :

Avant ;-(

		if (fichierjo1 != NULL)	{
		if (fichiertampon1 != NULL){
		abadie = fgetc(fichierjo1);
		while (abadie != EOF){
		fwrite(&abadie,1,sizeof(regle),fichiertampon1);
		abadie = fgetc(fichierjo1);
		}
		}
		}
		fclose(fichiertampon1), fichiertampon1 = NULL;;

Et après, avec la commande suivante qui fournit une présentation Style K&R  (car je suis de la vieille école ;-) :

$ bcpp -s -i 3 ...
       if (fichierjo1 != NULL) {
         if (fichiertampon1 != NULL) {
            abadie = fgetc(fichierjo1);
            while (abadie != EOF) {
               fwrite(&abadie,1,sizeof(regle),fichiertampon1);
               abadie = fgetc(fichierjo1);
            }
         }
      }
      fclose(fichiertampon1), fichiertampon1 = NULL;;

NB: Si un code source est écrit au moins une fois, il sera lu ... des centaines de fois.


Cordialement, A+
--
Claudius

]]>
Wed, 05 Feb 2014 15:55:55 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15957751#p15957751
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15953631#p15953631 Bonjour,
Je reviens un peu sur le sujet.
Ce matin j'ai repris un peu les codes en remplaçant les switch par des sprintf,
l'application semble bien fonctionner, elle passe de 37 Ko à 17 ko.
Pour détail, l'application lit un texte composé d'une série de 2 lettres sensibles à la casse avec aussi le cas de 1 caractère "l'espace", chaque série de deux lettres correspond à un fichier audio différents qui sont mixés jusqu'à 16 pistes.
Voici le code d'identification des lettres :

while (((qui= fgetc(jojo)) != EOF) &&  (saitfait == 1))/* qui vient chercher tout ce qui bouge*/

        {
if (qui != '\n'){
    printf("lettre debut est %d\n",qui);

if (((qui > 'a')&& (qui< 'z')) ||((qui > 'A')&& (qui< 'Z')) || (qui == 'a' ) || (qui == ' ' )|| (qui == 'z'))
{
    commesa++;
    if(commesa==1)
    {

apremier = qui;


    }
    if (commesa>1)
    {
adeuxieme = qui;
        commesa = 0;
            sprintf(passemoi,"%c%c.jo",apremier, adeuxieme);
                printf("passemoi est %s\n",passemoi);
            /***/
FILE* fichierjo1 = NULL;
FILE* fichiertampon1 = NULL;

		fichierjo1 = NULL;
  		fichierjo1 = fopen(passemoi, "rb");
  		if(fichierjo1 == NULL){
    		printf("Ce fichier ne va pas %s\n",passemoi);
    		exit(1);
		}
  		fichiertampon1 = fopen(construit, "ab");
  		if(fichiertampon1 == NULL){
    		printf("Ce fichier ne va pas %s\n",construit);
    		exit(1);
  		}
		if (fichierjo1 != NULL)	{
		if (fichiertampon1 != NULL){
		abadie = fgetc(fichierjo1);
		while (abadie != EOF){
		fwrite(&abadie,1,sizeof(regle),fichiertampon1);
		abadie = fgetc(fichierjo1);
		}
		}
		}
		fclose(fichiertampon1), fichiertampon1 = NULL;;
		fclose(fichierjo1), fichierjo1 = NULL;

/**************/
    }


}
}


/****traitement un caractere espace****/

if (qui == ' ' )
{


apremier = qui;

        commesa = 0;
            sprintf(passemoi,"%c.jo",apremier);
                printf("passemoi est %s\n",passemoi);
            /***/
FILE* fichierjo1 = NULL;
FILE* fichiertampon1 = NULL;

		fichierjo1 = NULL;
  		fichierjo1 = fopen(passemoi, "rb");
  		if(fichierjo1 == NULL){
    		printf("Ce fichier ne va pas %s\n",passemoi);
    		exit(1);
		}
  		fichiertampon1 = fopen(construit, "ab");
  		if(fichiertampon1 == NULL){
    		printf("Ce fichier ne va pas %s\n",construit);
    		exit(1);
  		}
		if (fichierjo1 != NULL)	{
		if (fichiertampon1 != NULL){
		abadie = fgetc(fichierjo1);
		while (abadie != EOF){
		fwrite(&abadie,1,sizeof(regle),fichiertampon1);
		abadie = fgetc(fichierjo1);
		}
		}
		}
		fclose(fichiertampon1), fichiertampon1 = NULL;;
		fclose(fichierjo1), fichierjo1 = NULL;

/**************/



}
}


/***fin traitement caractere espace

        }  /*while (qui != EOF);*jusqua la fin du texte*/
        fclose(jojo);

Cordialement

]]>
Wed, 05 Feb 2014 04:11:38 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15953631#p15953631
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15029031#p15029031 Bonjour,
Je poste en résolu, voici la réponse à sprintf du code donné ci-dessus

Temps ecoule : 0.000000

je garde ce passage en mémoire des fois qu'un jour, il apparaisse quelque chose.

Cordialement

]]>
Sun, 27 Oct 2013 21:38:53 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15029031#p15029031
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15016621#p15016621 Bonsoir,
J'aime bien la réaction de pires57 qui argumente, et c'est vrai ce que dit telliam que je considère que toute application pré-maché structure la pensée vers des incohérences. Mais même si je refuse les règles, il serait faux de croire que je les cherche pas. Je les cherche afin de les décortiqué à la recherche de ce qui pourrait m'être utile. Je considère que ce qui est bon à tout est bon à rien. Je considère que tout tableur est destructeur car il oriente les liens dans un système limité en dimension. Je considère que le bon sens, n'est pas celui qui plait, mais est celui qui permet d'atteindre l'objectif en utilisant le moins de ressources en proportion du poids de la mesure (le poids de la mesure en exemple est qu'on n'indique pas le poids d'un camion en micro-gramme, comme on n'indique pas l'amplitude d'un front d'onde avec un chiffre ayant une précision de 10 valeurs après la virgule.
Mon plaisir est de passer de bons moments avec d'autres tux au café et éventuellement parfois créer quelques applications, en m'appuyant sur l'expérience d'autres tux sur les forum de tux (kubuntu, ...) en respectant toujours de citer mes retours d'expériences.
Je ne dis pas il faut utiliser mon format audio, je dis que j'écris les sons d'une manière très légère, en exemple le marteau avec 60 octets, un son qu'audacity écrit en dizaine de ko. Et ceci peut encore être abaissé en poids, en utilisant une fonction avec mon système mathématique pour donner les formes directement, et encore ceci pourra être abaissé en poids en compressant, ...
Regarder ma démarche, je donne les codes, je dis dans mes codes comment rendre l'audio compatible avec l'étrange technologie des cartes audio actuelle, en comparant à la démarche d'audacity par exemple, au début ne sachant pas comment fonctionnait les cartes audio, j'ai envoyé des dizaine de mail aux mainteneur d'audacity pour savoir, je n'ai jamais obtenue ma réponse. J'ai du utiliser ghex pour découvrir le fonctionnement des entêtes audio.
Au sujet des DEV éventuel, j'ai contacté les DEV audio linux en 2010 quand j'ai créé mon format audio, pour leur dire les lois sur les sons. Ils m'ont répondu :
l'oscilloscope est claire, les sons sont fréquences,
j'ai répondu, immédiatement dans la minute que leurs arguments étaient douteux, car l'oscilloscope montre ce qu'on lui a demandé de montrer (pour cause dans les années 1980 je m'en étais fais un pour tester mes montages électroniques, et je sais pertinemment que c'est des moyennes, l'oeil ne peut suivre, l'oscillo ne peut voir le gros ou le petit et les effets du gros ou du petit, il ne montre que ce qu'on lui demande, à savoir une moyenne).
De plus que j'avais mon application qui faisais force de loi, qui montrait le vrai du faux. C'était en 2010, on est en 2013 et on trouve encore des références aux fréquences sur les lois des sons ? Pour revenir aux éventuels DEV, s'ils ne remettent pas en question leurs croyances, s'ils ne remettent pas en question les lois d'associations d'idées qui permettent de construire les structures, je comprends qu'ils ne puissent jamais commencé à percevoir la simplicité de mes codes. Et même je dirais que quoi que je fasse (et j'en ai déja pas mal fais qui ne m'a rapporté qu'insultes et bien plus grave, je ne dis pas tout), il me semble certain qu'à part quelques tux amis qui travaillent sur des versions dans le monde non libre, il n'y ai que moi comme DEV sur le projet (Voila pourquoi aussi ce dernier projet n'avance pas vite, c'est le plus long pour moi aujourd'hui, il a déja plus de trois ans en travaillant une ou deux heures par nuit.)
Pour faire plus simple, comment coder quelque chose qu'on ne comprend pas, comment critiquer un code quand on en aperçoit pas le sens ?
Pourtant c'est simple, prenez un rivage, faite la moyenne des hauteurs des vagues, et ensuite analyser les effets à l'aide de cette moyenne, ainsi avec tous les autres formats audio vous arrivez à créer des codes qui disent que Nice,   Fukushima, les 400 villages rayés de la carte en inde n'existe pas puisque c'est le même effet en moyenne. Que l'eau soit sans mouvement, morte pendant six mois et qu’après elle arrache les terres un bref instant, ou qu'elle ne varie peu d'une manière constante c'est le même effet, jolis codes tout propre, tout va bien, il suffit de l'imaginer et de le modéliser avec des codes parfais. Et quand l'un montre quelque chose, on essai de voir ce qu'il montre, pas si son doigt est vieux et usé par un système ou la religion a remplacé la science.


Pour tester les temps de réaction, j'avais utilisé gtk il y a quelques temps, le temps de retrouver et voici comment j'avais fais, mais il va falloir que j'adapte mes codes pour pouvoir tester.

En premier, j'étais allé chercher des lib :

sudo apt-get install libgtk2.0-0 libgtk2.0-dev

Ensuite, j'avais créé un main nommé quellevitesse.c

#include <gtk/gtk.h>
typedef struct _GTimer GTimer;

double timer;
/* Timer
 
GTimer* g_timer_new	(void);
void	g_timer_destroy (GTimer	 *timer);
void	g_timer_start	(GTimer	 *timer);
void	g_timer_start	(GTimer	 *timer);
void	g_timer_reset	(GTimer	 *timer);
gdouble g_timer_elapsed (GTimer *timer, gulong *microseconds);
 */
int main( int argc, char **argv)
{
int qui = 15;
void	g_timer_start(GTimer *timer);


/* c'est ceci que je test mais il va falloir adapter*/
    printf("lettre debut est %d\n",qui);
/* fin de es-tu une bonne idée*/

void	g_timer_stop(GTimer *timer);

printf ("Temps ecoule : %f\n", timer);
void	g_timer_destroy (GTimer *timer);
	return 0;
}

et encore derrière j'avais compilé pour rendre le code executable

gcc -o quellevitesse quellevitesse.c `pkg-config --libs --cflags gtk+-2.0`

Et enfin j'avais lancé le code pour savoir

./quellevitesse

Maintenant que j'ai retrouvé, il ne me reste qu'à adapter mes deux codes pour tester switch vs sprintf

Au passage, je vais utiliser qt5 (qt4 étant la version d'origine dans ubuntu), de manière à pouvoir piloter directement les sons avec le synthétiseur de son lm3jo. Car actuellement en faisant appel à system on ne peut bouger les curseurs dans qt quand un son ce joue.
j'ai mis en ligne la dernière version qui contient qt5 à la place de qt4, j'ai conservé dans l'appli les deux version SDL

Cordialement

]]>
Sat, 26 Oct 2013 21:17:00 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15016621#p15016621
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15016591#p15016591 Heu oui effectivement Telliam, tu as raison.
Mais rien n’empêche de faire de la modularité, cela fonctionnera aussi.

]]>
Sat, 26 Oct 2013 21:11:44 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15016591#p15016591
<![CDATA[Réponse à : [résolu] switch vs sprintf]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=15016491#p15016491 Euh Pires.... tu confonds pas Modularité et Factorisation ?
La modularité c'est concevoir un ensemble de fonction qui peut etre réutilisable ailleurs.
Alors que la tu parles juste de Factorisation de code.

Néanmoins je confirme le code de temps est bordélique ( voir hideux),  le pb de Temps c'est qu'il considère que toute remarques, plus ou moins liées au bon sens et/ou au génie logiciel, comme un carquant que les codeurs appliquent bêtement alors qu'il s'agit juste de conseils/règles qui aident à rendre un code propre, stable et robuste.(et qui ne limite en rien l'ingeniosité des codeurs.)

]]>
Sat, 26 Oct 2013 20:58:36 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=15016491#p15016491