Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 131 706 vues
  • 130 followers
Sujet de la discussion Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le sujet de la discussion
351
Je sais pas si t'as vu aussi, mais scons peut generer des fichers .sln pour visual studio (C'est un peu penible de mettre le truc en route; perso, ca marchait pas au depart, et j'ai mis du temps a comprendre que ca venait de la base de registre qui gardait des references a VC 2003 pourtant desinstalle, et donc scons qui cherchait un inexistant VC 2003).

Unit testing, c'est un peu pedant en fait: ce que je veux faire, c'est reexecuter une commande (le test) lorsque ses dependances sont changees. En fait, depuis la derniere fois que j'avais regarde, il semblerait qu'il y ait plus d'infos sur le wiki:

http://www.scons.org/wiki/UnitTests

Ce qui me manque le plus dans scons, avec certaines options a la autoconf, c'est la generation de Makefile

Citation :
Scons commence a etre bien répendu quand meme



C'est vraiment dommage qu'ils aient rate kde, quand meme. Je suis un peu etonne que les dev ne se soient pas plus investis pour repondre aux critiques/corrections des pbs des developpeurs kde.
352
Ok pou tunit testing, j'en ai jamais codé en fait.... :oops: (y'a pas si longtemps je travaillais encore sans debugger.... hehe).

Par contre faut que je regarde plus pour windows, j'ai installé python + scons, mais impossible de le faire amrcher... grrrr (ca me dis que python est pas dans le path, et pourtant... le fichier scons est dans le meme repertoire!!)
353

Citation : C'est dommage qu'ils aient loupe le coche kde (kde, pour la version 4, etait sur le point d'utiliser scons, mais ils ont prefere cmake a la fin, pour des raisons que je trouve un peu bizarres), ca aurait fait une grossepub, comme le passage a subversion.



C'est p-e parce que cmake c'est bien aussi ;) Et puis, je pense que scons était pas très mature au moment où ils ont pris cette décision, alors que cmake, ça fait une paie que c'est stable et fonctionnel.
354

Citation :
Ok pou tunit testing, j'en ai jamais codé en fait.... (y'a pas si longtemps je travaillais encore sans debugger.... hehe).



Je travaille rarement avec un debugger perso, c'est chiant, et je pars du principe que si t'as besoin d'un debugger pour trouver d'ou vient le pb, c'est que ton logiciel est mal foutu au depart dans les cas courants. C'est utile quand tu fais des trucs non documentes (typiquement, dans mon cas, les extensions C a matlab, qui a une API a chier pour ca), systeme peut etre, etc... Depuis que je ne fais plus du tout C/C++, j'en ai nettement moins le besoin: avec des outils comme valgrind + des tests (comme je fais beaucoup de prog de calcul numerique, c'est obligatoire les tests), ca marche nickel.

Citation :

C'est p-e parce que cmake c'est bien aussi



Surement, je connais pas vraiment cmake, parce que j'ai vu scons avant, mais a la base, les gars qui bossaient sur le nouveau systeme de build pour kde etaient parti sur scons (mais avec un fork des le depart, ce qui est assez debile, je trouve, enfin bon), pour apres repartir sur cmake parce que le truc base sur scons marchait pas bien.

scons est utilise par blender, doom3, ardour, qui sont pas de petits projets (pas kde non plus, certes), donc je pense que c'est relativement mature quand meme.

Citation :
Par contre faut que je regarde plus pour windows, j'ai installé python + scons, mais impossible de le faire amrcher... grrrr (ca me dis que python est pas dans le path, et pourtant... le fichier scons est dans le meme repertoire!!)



C'est quoi ton probleme ? J'ai installe scons sur le portable du boulot sous win la semaine derniere, je devrais pouvoir t'aider. Il faut que le dossier parent de python (en general a la racine de c:\, par exemple Python24) soit dans %PATH%. Etre dans le meme dossier aide pas, car scons n'utilise pas le dossier courant dans son path.
355

Citation : Il faut que le dossier parent de python (en general a la racine de c:, par exemple Python24) soit dans %PATH%


il y est celui la, d'ailleurt si je lance python dans cygwin ca marche, dans cmd.exe ca me dis que c'est application 16bits qui effectue des operation non valide je sais pas trop quoi...

Quand je dis que scons est dans le mee dossier, j'entends par la que scons.bat est dans le dossier Ptyhon24/scons.bat

ca doit etre une petite erreur, faut juste trouver ou :) la pour le moment je vais finir d'écrire les SConstruct pour mon projet.
Mais y'a un truc qui je pige pas trop, sous windows, comment scons va determiner le compilo que je veux utilsier? (cl ou mingw?)
356

Citation :
il y est celui la, d'ailleurt si je lance python dans cygwin ca marche, dans cmd.exe ca me dis que c'est application 16bits qui effectue des operation non valide je sais pas trop quoi...



Ben le probleme vient surement de la, non ? T'as installe quel python, quelle version ? Il faut faire attention, avec cygwin, car si tu veux utiliser scons avec visual, il faut que tu aies un python "natif" (ie pas cygwin), je pense.

Citation :
Mais y'a un truc qui je pige pas trop, sous windows, comment scons va determiner le compilo que je veux utilsier? (cl ou mingw?)



Il a un defaut pour chaque plateforme, que tu peux bien evidemment changer si tu le souhaites. Sous MS, il cherche d'abord visual (je sais pas lequel par contre, faut regarder dans la doc).
357

Citation : Ben le probleme vient surement de la, non ? T'as installe quel python, quelle version ? Il faut faire attention, avec cygwin, car si tu veux utiliser scons avec visual, il faut que tu aies un python "natif" (ie pas cygwin), je pense.


Pyton je l'ais télécharger sur python.org... donc je pense que j'ai la bonne version? (d'ailleur si je le lance à partir du menu démarer, ca marche).

en fait dans cmd j'ai meme pas ptyhon (apparament le path n'est pas bon?)
358
Ok alors
Path="F:......" ca me met bien le path dans cmd et dans cygwin
Paht=F:... ca me met le path que dans cygwin....
c'est quoi la syntaxe du path de windows? parceque mes autres variables d'environement n'ont pas les ""
359
Chez moi, je le modifie avec la GUI (dans poste de travail et cie, je connais pas le snoms exacts, car j'ai que la version jap de windows :(; je connais pas d'autre moyen).

Perso, j'avais un pb car les outils de restauration de mon portable utilisent python, une version un peu vieille, et c'etait evidemment celle utilisee (l'ordre compte, c'est pareil que sous unix a ce niveau la).
360

Citation : Le fait que de gros projets open source (kde, ardour) cherchent a s'eloigner du truc est un signe a mon avis que ca a fait son temps.


Peut-être pour Ardour, mais KDE, c'est surtout parce que Qt, sur lequel il est basé, a son propre outil de génération, qmake, mais qui est bien plus pauvre qu'un simple configure... Ca devait être plus simple de porter vers cmake - que je n'aime pas beaucoup, sans doute parce que je ne l'ai pas encore correctement en main ;) ITK se compile avec cmake, c'est presque joli :) -

Mais scons, ça m'intéresse, s'il peut faire des tests unitaires à la volée, ça peut être un plus, faut peut-être juste attendre que ça murisse correctement - peut-être pas assez de monde pour répondre aux attentes de KDE ? -

Pilo > http://conception.developpez.com/livres/#L0321146530 ça explique toute l'approche basée sur les tests reprise dans pas mal de process
361

Citation :
Mais scons, ça m'intéresse, s'il peut faire des tests unitaires à la volée, ça peut être un plus, faut peut-être juste attendre que ça murisse correctement - peut-être pas assez de monde pour répondre aux attentes de KDE ? -



Ben surtout, sur les ML de scons, j'ai rarement vu le gars qui bossait sur bksys (le fork de scons pour kde) poser des questions. scons gere deja qt (je sais pas a quel point, j'ai jamais essaye qt + scons).

Le probleme des tests, je me souviens plus exactement pourquoi c'etait chiant, mais je voulais juste faire l'equivalent d'un make check avec autotools, et le truc tout con:


ex_test: test
$PWD/$^
362
Je suis en train de regarder la manière de faire des bindings C++/Python, et SIP a l'air pas mal. Tu as essayé quoi comme générateur de binding, Gabou ?
363
Boost python; j'avais entendu dire que sip etait trop limite, mais j'ai jamais verifie. Mais bon, boost python est quand meme tres lourd, tout en etant assez efficace pour cacher les problems de reference counting et cie. C'est dommage que ca gere pas les tableaux numpy, mais si j'avais le temps, je regarderais comment faire. Le truc que j'ai fait avec est plus ou moins trivial, aussi: 3 classes, peu de marshmalling a faire (il transcrit tout seul les string C++ <-> string python, pour le reste, il faut le faire a la main je crois).

Faudrait que je jette un coup d'oeil a swig, parce que je connais qu'avec le C, pas le C++, je sais pas a quel point il automatise les choses.
364
J'ai une petite question aux pros du DSP. A vous lire (et ça me semble normal vu le nombre d'opérations), le moindre filtre boufferait pas loin de toutes les capacités de nos PC les plus puissants. Alors comment font les éditeurs de softs audio pour nous permettre de gérer 15 pistes audio avec chacune 3 EQ et un compresseur plus 2 ou 3 effets en send , le tout sur un PIV 2G de base ?

Il y a deux moyens d’oublier les tracas de la vie : la musique et les chats.
Albert Schweitzer

365

Citation :
A vous lire (et ça me semble normal vu le nombre d'opérations), le moindre filtre boufferait pas loin de toutes les capacités de nos PC les plus puissants.



Euh, non, pas vraiment. Ca depend des filtres, mais le filtre de base pour synthe est un filtre dit recursif, d'ordre 2 (permet des pentes de 24 dB/octave), et l'implementation de base, avec y en sortie et x en entree, c'est

y[n] - b[1] * y[n-1] - b[2] * y[n-2] = a[0] * x[n] + a[1] * x[n-1] + a[2] * x[n-2] (implementation directe, par forcement la meilleure).

Donc oui, c'est relativement cher car pour chaque sample, il faut faire pas mal de caluls / acces memoires. Mais ca reste raisonnable.

Ce qui coute cher, par contre, en general, c'est d'updater les coefficients (changement de frequence de coupure, de la resonnance, etc...), parce que ca fait souvent internir des fonctions transcendales (sin et cos typiquement), qui coutent plusieurs centaines de cycles, et donc si tu le fais 500 fois par seconde, ca fait des centaines de milliers de cycles bouffes par seconde juste pour calculer les a et b.

Ce qui coute cher aussi, c'est le filtrage a partir de la reponse impulsionnelle, car pour un sample en sortie, il faut faire en gros N additions + N multiplications, ou N est la taille de la reponse impulsionnelle, qui peut atteindre plusieurs seconde (donc N de l'ordre de plusieurs dizaines de milliers).
366

Citation : Ce qui coute cher, par contre, en general, c'est d'updater les coefficients


Ben oui, justement, toutes nos EQ dans Cubase ou Logic sont paramètriques, Q réglable, fréqu de coupure réglable. Je soupçonne certaines approximations dans ces trucs, justement (si c'est possible), pour gagner du temps. A première vue, les EQ de Logic 4.8 (qui tourne farpaitement sur PIII 800) ne sonnent pas du tout comme celles de Cubase SE, à réglage identique. Je préférais Logic.

Comment qu'y font alors ?

Il y a deux moyens d’oublier les tracas de la vie : la musique et les chats.
Albert Schweitzer

367

Citation :
Ben oui, justement, toutes nos EQ dans Cubase ou Logic sont paramètriques, Q réglable, fréqu de coupure réglable.



Oui enfin a priori, un EQ, une fois qu'il est regle, t'y touches plus, et tu le changes pas 500 fois par seconde ;)

Citation :
Je soupçonne certaines approximations dans ces trucs, justement (si c'est possible), pour gagner du temps. A première vue, les EQ de Logic 4.8 (qui tourne farpaitement sur PIII 800) ne sonnent pas du tout comme celles de Cubase SE, à réglage identique. Je préférais Logic.



Il y a pleins de methodes en effet. Deja, les a et b, je t'ai pas dit comment on les calcule a partir de Q et de fc, c'est pas par hasard. Ensuite, il y a la maniere d'implementer le filtre (calcul direct comme auparavant, ou autres topologies); maintenant, je suis pas sur que ce dernier point soit fondamental en flottant, mais ca l'est assurement sur du hardware si tu calcules en fixe
368

Citation : Comment qu'y font alors ?



Ils précalculent quand c'est possible (et que ça vaut le coup), ils approximent sinon ;)
369
Sip trop limite ? Il ont tout de même binder avec Qt4, et c'est costaud tout de même.
Le gros inconvénient de Boost.Python : y'a pas de doc en pdf ou qu'on peut facilement imprimer, c'est chiant au possible...
370
Ben comme dit, j'ai pas vraiment regarde. Mais ca a l'air de ressembler a swig ?
371
Apparemment ce serait une version simplifiée de swig, mais je ne connais pas swig non plus :D
372
Salut les programmeurs

J'ai une question assez simple.

J'ai actuellement une MOTU 24 I/O.

Avec cette carte, vient un logiciel qui permet de "piloter" les E/S de la
carte, le routing, etc...

Maintenant, j'ai un bout de code basé sur le ASIO SDK, et j'aimerais bien
que quand ce code veut router l'Input 1 vers l'output 4, PERSONNE ne vienne
m'en empecher...

En clair, est-il possible que l'action sur le logiciel de pilotage de routing
fourni par MOTU soit ignoré ? J'ai essayé ASIOFuture comme fonction, mais
ca n'a pas abouti...


Je donne un exemple plus concret

Je route l'Entrée 1 vers la sortie 4... Tout marche bien
Si maintenant, je vais dans la console de MOTU (CUeMixConsole) et que je
mute l'entrée 1, et beh, evidemment, je n'ai plus rien sur la sortie.
Il semblerait que CueMixConsole soit prioritaire sur mon routing.
Est-il possible de faire en sorte que les actions du CueMixConsole soient
ignorées ?

SI quelqu'un a une idée, c'est super important ;)

THe Monz, Toulouse
373
Hey !

voici un petit prog que j'ai fait pour s'entrainer l'oreille :

/theorie-musicale/forums/t.195263,s-entrainer-a-reconnaitre-les-intervalles.html

Avant j'étais prétentieux, maintenant je suis parfait.

SoundCloud | Stompin at decca |  I can't give you anything but love

374
J'ai essayé SWIG pour générer des bindings python d'une lib assez conséquente (JUCE). C'est sympa leur système de typemaps mais c'est super limité. J'ai pas non plus réussit à avoir une gestion du refcount sans passer par des "objet.__disown__()" partout dans le code python.
Je suis passé à boost::python et c'est vraiment pas mal. Le gros intérêt de SWIG est la génération automatique, mais on peut en faire autant pour boost avec py++ (http://www.language-binding.net/pyplusplus/pyplusplus.html) qui est lui tout écrit en python et assez configurable.
SIP, j'ai jamais essayé. C'est bien ?
My name is john, '_' john.
375
C'est une version modifiée de SWIG pour Qt, principalement, apparemment.

Pour Boost.Python, faut que je trouve un pdf pour le lire, je n'aime pas les centaines de pages html qu'on ne peut pas imprimer facilement...