2640

Je suis celui qui a rendu PortAudio compatible avec le plugin ALSA de PulseAudio:
http://sites.music.columbia.edu/pipermail/portaudio/2008-November/008990.html
http://sites.music.columbia.edu/pipermail/portaudio/2008-December/009023.html
http://sites.music.columbia.edu/pipermail/portaudio/2008-December/009024.html

Au moins à l'époque, ça marchait moyennement bien, il y avait quand-même quelques problèmes (de qualité du son) qui ont fait que Espeak a développé un backend PulseAudio natif en plus de son backend PortAudio. (J'ai d'ailleurs contribué un patch là-bas pour permettre un choix en temps d'exécution plutôt qu'à la compilation: https://sourceforge.net/p/espeak/bugs/78/.)

Mais maintenant, on est en 2017, ça marche peut-être mieux, et il y a aussi des projets qui font des backends natifs PulseAudio pour PortAudio:
https://github.com/bkgood/portaudio-pulseaudio
https://github.com/illuusio/portaudio-pulseaudio
https://github.com/daschuer/portaudio-pulseaudio

D'ailleurs, un autre choix pour une API de son portable est la partie son de SDL (qui peut être utilisée même si tu utilises autre chose pour afficher), c'est ce que j'ai utilisé dans TiEmu.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2641

Kevin, le couteau suisse du logiciel libre, qui passe du système de bureau au système de son sans sourciller grin

2642

Pour SDL la réponse est simple, hors de question de dépendre de SDL d'un moyen ou d'un autre. j'ai tout fait pour ne plus dépendre de pseudo librairie generaliste parce que complètement inadapté a mes besoin, je n'ai aucune envie de recommencer.

Et ok pour le reste. (et pulseaudio je m'en contrefout a vrai dire, plus je peux ne pas le voir mieux je me porte.. comme tout ce qui viens de l'autre de chez redhat)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2643

http://spectrum.ieee.org/at-work/education/sequential-programming-considered-harmful
Je suis un peu dubitatif. Je suis d'accord que maîtriser la programmation parallèle est désormais indispensable, mais je ne sais pas trop si commencer "tôt" est une bonne idée ou non : pas sûr que ça n'embrouille pas davantage quelqu'un qui ne maîtrise pas encore la programmation séquentielle.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2644

Débutant + programmation parallèle = race conditions + deadlocks + livelocks + starvation + busy waiting. roll
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2645

Débutant + programmation parallèle - race conditions - deadlocks - livelocks = starvation + busy waiting. roll

2646

grin

2647

Zerosquare (./2643) :
http://spectrum.ieee.org/at-work/education/sequential-programming-considered-harmful
Je suis un peu dubitatif. Je suis d'accord que maîtriser la programmation parallèle est désormais indispensable, mais je ne sais pas trop si commencer "tôt" est une bonne idée ou non : pas sûr que ça n'embrouille pas davantage quelqu'un qui ne maîtrise pas encore la programmation séquentielle.
l'idée est ptet de leur faire comprendre les concepts avant d'en faire des pisseurs de code linéaire (séquentiel, donc)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2648

on ferait mieux de leur apprendre des trucs utiles

a cette age on a pas besoin d'apprendre la prog a l'ECOLE

2649

./2643 il ne faudrait pas qu'ils oublient qu'un CPU n'est qu'une machine a etat, donc un truc séquentiel, d'ailleurs les choses 100% parallelisable ca n'existe pas ou presque pas, il ya toujours un ordre dans laquel les choses doivent etre faite, et c'est beaucoup plus courant que les choses qui peuvent etre faite en //.

D'ailleurs ca se vois avec les algorithmes en general, l'exemple le plus simple est le dithering type Floyd, typiquement quelque chose qui n'est pas parralelisable. Il y a tellement de choses qui demande a ce que A soit fait pour pouvoir faire B...

Et c'est exactement comme en France avec les maths. C'est faire partir les gens sur des choses en oubliant complétement la réalité physique des choses. Un bon matheux ne fait pas un bon programmeur. Il y a encore ENORMEMENT de plateforme sans multicoeur, et les choses n'ont pas vraiment de raison de changer de ce point de vu, que ca soit pour des raisons de budget, de consommation, ou simplement parce que c'est juste inutile? Pas besoin de mettre un moteur de F1 dans un tracteur.

De tel propos sont pour moi complétement déconnecté de la réalité des choses.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2650

Je me demande si un tel discours n'est tenu que parce que tu as majoritairement eu des cours QUE sur le séquentiel avec des boucles là où de la // peut parfois résoudre simplement certains problèmes. (et je pense qu'il est plus facile d'expliquer à qqn qui maitrise le dev en N process de prendre N=1 pour cette fois que d'expliquer à qqn qui a toujours fait du monoprocess comment en fait il pourrait faire du //
Godzil (./2649) :
Pas besoin de mettre un moteur de F1 dans un tracteur.
Renseignes toi sur certaines des plus grandes écuries de F1 wink tongue
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2651

Vince: Non je ne pense pas, c'est comme dire "mais vous avez appris a faire du C++ vous savez faire du C" la réponse est non.
Quasiment tous les débutants que j'ai eu sous la main qui ont commencé par du C++/Java/LanguageObjetQuelconque était incapable de faire proprement du C sans partir dans des délires.

Le sequentiel et le parallelisme sont deux monde assez séparé, il ya des choses possible dans l'un et pas dans l'autre.
Les choses sont fondamentalement séquentielles avant d'etre parallelisable, regarde dans la vie de tous les jours le nombre de choses qui sont séquentielles et ne peuvent etre découpé en petites taches faites en meme temps!

Tu passe l'aspirateur dans toutes les pieces de chez toi en meme temps? Tout en vidant le sac bien entendu.

Des qu'on sors du purement virtuel, tu as toujours besoin de faire les choses de manière séquentielles, tu commence par couper les legumes avant de les faire cuire, tu ne les fait pas cuire tout en les découpant et en dressant l'assiete.

Si vraimetn du veux faire du parallelisme en informatique/electronique c'est vers le VHDL/CPLD/FPGA qu'il faut se tourner, et encore la il y a un tas de choses ou au final on fait des modeles séquentiels car beaucoup de taches ne peuvet pas etre faites simultanément.

Un ordinateur est une machine sequentielle, on est jamais sortit du modele de Turing qui est a 100% un automate sequentiel
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2652

Godzil (./2649) :
Un bon matheux ne fait pas un bon programmeur.
Oui, un bon matheux n'est pas forcément un bon programmeur, mais en revanche, un bon programmeur est nécessairement un bon matheux. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2653

Non plus
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2654

on dirait des exemples dignes de "t'as rien à cacher, t'as pas de raison de chiffrer"...
sérieusement :
- tu vides ton sac d'aspi chaque fois que tu le passes ?
- tu crois vraiment que je fais cuire des légumes ? à l'inverse, pendant que ça cuit je peux servir la table...
- toujours dans la "vraie vie", prenons la nature : les fourmis par exemple, comme beaucoup d'autres animaux se répartissent les tâches en // mais on est d'accord qu'elles ne commencent rien avant que la reine ne les ait pondues...

Et tu t'es jamais dit qu'on ne sortait pas du modèle de turing parce qu'on ne focalisait que sur lui ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2655

non, c'est parce qu'il est universel

mais vous parlez de choux et de carrottes

rien n'empêche d'avoir deux machines de turing qui bossent en même temps et qui touchent les donnees de l'autre.

2656

Godzil (./2651) :
Tu passe l'aspirateur dans toutes les pieces de chez toi en meme temps?
Pourtant, c'est un exemple parfaitement parallélisable: si vous êtes 4 et que vous avez 4 aspirateurs, vous pouvez nettoyer 4 pièces en même temps. tongue C'est le principe d'un quad core. smile

Mais sinon, je suis d'accord avec toi que tout n'est pas parallélisable. Ces CPUs avec de plus en plus de cœurs ne servent pas à grand chose pour les particuliers, il faudrait vraiment trouver un moyen d'accélérer d'avantage chaque cœur.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2657

un core pour windows et le reste, N-1 core pour le javascript de facebook.

2658

Vince: Ne te méprends pas, je ne dit pas qu'il ne faut pas parler et avoir des cours sur ce sujet, juste que commencer par ca *je* pense que c'est nocif a long terme parce que les étudiants vont oublier comment les choses marchent reelement.

Il ne faut pas forcement rentrer dans les détails, mais le cours dont ils parlent est clairement super mega haut niveau oubliant tout detail physique. Donc le jour ou tu te trouve devant un vrai probleme tu ne pourra pas le resoudre correctement parce que tu n'y a jamais été confronté.

Faire du multi process/thread & co est au bas mot 10 a 100x plus complexe et demandeur que faire du sequentiel d'autant plus pour les taches qui sont fortement parallelisé, entre les problemes de synchronisation qui sont non triviaux, les problemes de famine etc..

Les problèmes classiques comme le problème des philosophes est typiquement un problème de parallélisme. Je n'ai jamais eu de cours spécifiques sur ce genre de choses mais il n'empeche que au détours de certains cours on a vu ce type de problemes, comment faire du multitache, les problemes que ca resouds, ceux que ca apporte etc..

Ce n'est pas un sujet qu'il ne faut pas aborder, il le faut, mais ce n'est pas LE sujet principal qu'il faut aborder, il faut voir aussi tous les autres
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2659

squalyl: un core pour dans les tenebre les liers? grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2660

Godzil (./2653) :
Non plus
Si, on ne peut pas programmer bien si on n'est pas doué avec certains concepts mathématiques fondamentaux pour la programmation: logique booléenne, opérations basiques sur les nombres entiers (arithmétique de primaire smile), bases numériques (au moins 10, 2 et 16), transformations formelles (en mathématiques "pures", on apprend à transformer par exemple entre (a+b)² et a²+2ab+b²; en informatique, non seulement ces transformations peuvent être utiles pour l'optimisation, mais on a en plus des égalités de même type entre plusieurs notations de code, par exemple:
for (x ; y ; z) {
  t;
}
et:
x;
while (y) {
  t;
  z;
}
où être versé avec les transformations formelles permet de trouver la notation la plus simple et lisible), …

Et la plupart des spécialisations reposent aussi fortement sur des concepts mathématiques. Par exemple, pour tout ce qui se repose sur la géométrie (graphismes, jeux, cartographie, …), non seulement des notions de géométrie euclidienne de base peuvent être utiles, mais aussi les vecteurs, les nombres complexes, les quaternions, …

Beaucoup d'horreurs qu'on voit sur des sites comme The Daily WTF sont dues à des connaissances insuffisantes en Mathématiques.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2661

oui, c'est bien ca, être programmeur ne garantit pas qu'on est bon en maths.

2662

Moue, je n'appelle pas ca etre un bon matheux ^^

2663

tu peux être moyen en maths et exceller en logique combinatoire... ne pas maitriser les concepts théorique à 200% ne t'empêche pas de maitriser leur utilisation pratique...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2664

Zerosquare (./2643) :
http://spectrum.ieee.org/at-work/education/sequential-programming-considered-harmful
Je suis un peu dubitatif. Je suis d'accord que maîtriser la programmation parallèle est désormais indispensable, mais je ne sais pas trop si commencer "tôt" est une bonne idée ou non : pas sûr que ça n'embrouille pas davantage quelqu'un qui ne maîtrise pas encore la programmation séquentielle.

Pour avoir vécu le coup du chef de projet qui propose de mettre un thread dans un endroit critique d'un projet (lui aussi critique grin ) "pour que le programme s'exécute plus vite" (c) trigic ... et voir un tas de bugs liés à ce thread pendant deux bonnes semaines ... pour finalement entendre le chef de projet décider de remettre comme c'était avant (car il avait enfin réalisé que mettre des threads partout ne faisait pas que résoudre des problèmes trinon), je trouve cette idée moyennement pertinente grin
avatar
Appartiens à l'Unification Ultime !

Exec "4e444e750000"

2665

En général, mettre des threads ne fait que créer des problèmes. wink
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2666

Bof, mettre des threads ne fait que mettre des threads.
Le problème est de faire n'importe quoi.
Godzil (./2649) :
Pas besoin de mettre un moteur de F1 dans un tracteur.
http://www.usinenouvelle.com/article/honda-pulverise-le-record-du-monde-de-vitesse-en-tondeuse-a-gazon.N253092 embarrassed

2667

Merci pour ce retour ^^

Et c'est bien la le problème, survoler le sujet en oubliant les détails technique c'est se retrouver face a ce genre de problèmes smile
Je reprends mon parallèle C++/Java avec le C, les gens qui ont commence avec ca sont quasi incapable de comprendre comment l'allocation memoire ou les pointeurs c'est pourtant parmis les choses de base a savoir pour faire du C


Kevin: tes exemples relèvent du langage (tu sais la langue qu'on parle, pas les langages programmation) et non des maths. Convertir d'une forme en une autre c'est un problème de langage et non de math, c'est trouver un moyen différent de dire la même chose. Pour faire de l'informatique les math "pousse" sont, les 4 opérations pour 99% des cas, et pour les gens travaillant un niveau un peu plus bas d'un peu de logique booléenne et de conversion de bases (et encore la majorité apprennent par coeur les conversions, ou utilisent la calculatrice Windows, voir même n'utilise que du decimal pour les nombre et l'hexadecimal pour les trucs lie a des registres dont on vue juste activer un certain nombre de bits, sans même chercher a savoir quelle est la valeur décimale liée.)
La majorité utilisent des macro tout faites qui font tout a votre place (et je ne dit pas que c'est forcement une bonne chose)

Et c'est, tout ce dont on a besoin sorry

L'algorithmie n'est pas des math, mais de ... l'algorithmie, c'est un sujet assez différent, qui des fois a des similarités des fois se recoupe avec les maths, mais c'est bien un domaine différent.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2668

C'est clair que si je montre ce post à mon gamin, il va encore me dire que "c'est pas des maths"
avatar
De nouveaux jeux pour vos vieilles consoles ? En 2024 ?
https://yastuna-games.com

2669

Godzil (./2667) :
Kevin: tes exemples relèvent du langage (tu sais la langue qu'on parle, pas les langages programmation) et non des maths.
N'importe quoi. Les langages de programmation ont très peu en commun avec les langues naturelles, donc être doué avec les langues naturelles ne sert à rien pour la programmation.

Convertir d'une forme en une autre c'est un problème de langage et non de math, c'est trouver un moyen différent de dire la même chose.
Absolument pas. C'est une transformation formelle, tout comme la transformation entre a²+2ab+b² et (a+b)². Les mêmes personnes incapables de faire des calculs formels en Mathématiques (en général parce qu'elles sont incapables de faire l'abstraction d'un nombre concret ou d'une expression plus longue en une marque substitutive (placeholder) comme a) seront aussi incapables de faire des transformations formelles en un langage de programmation.

Pour faire de l'informatique les math "pousse" sont, les 4 opérations pour 99% des cas, et pour les gens travaillant un niveau un peu plus bas d'un peu de logique booléenne et de conversion de bases (et encore la majorité apprennent par coeur les conversions, ou utilisent la calculatrice Windows, voir même n'utilise que du decimal pour les nombre et l'hexadecimal pour les trucs lie a des registres dont on vue juste activer un certain nombre de bits, sans même chercher a savoir quelle est la valeur décimale liée.)
C'est ce que croient les mauvais programmeurs. tongue

Par exemple (exemple que j'ai déjà donné, mais que tu as ignoré dans ta réponse), coder des jeux ou n'importe quelle application graphique sans maîtriser les complexes (pour la 2D) et/ou les quaternions (pour la 3D) est une très mauvaise idée.

Et les mauvais programmeurs ne maîtrisent souvent même pas des concepts de base comme la trichotomie, ce qui donne du code idiot comme (ce n'est (probablement) pas un exemple réel, mais c'est le genre de code idiot que je vois régulièrement de la part de non-matheux):
int x = …;
if (x - 1 >= 0 || x == 0 || -1 - x >= 0)
(Je te laisse comprendre pourquoi cet if est totalement redondant. tongue Sans parler de l'invocation inutile de comportement non défini (débordement d'entier signé) si x == INT_MIN.)

La majorité utilisent des macro tout faites qui font tout a votre place (et je ne dit pas que c'est forcement une bonne chose)
Les macros toutes faites ne servent à rien si tu ne comprends pas les concepts mathématiques de base. Au contraire, elles ne t'aident qu'à pondre du code comme celui ci-dessus sans même t'en rendre compte.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

2670

Kevin Kofler (./2669) :
Je te laisse comprendre pourquoi cet if est totalement redondant.
Tu prends vraiment les gens pour des débiles ?
Cela dit, en étant plus large, écrire une condition plus courte parce que c'est booleennement identique après simplification est débile si c'est au détriment de la lisibilité. C'est typiquement le boulot du compilateur. Il m'arrive d'écrire des *2 et pas loin après /2 parce que c'est la logique du truc, pas parce que je n'ai pas compris que c'était inutile... roll