Devenir membre club
Connectez vous
Aide & règlement
Votre 1ère visite
Le règlement
Contacter les admins
Contacter le webmaster
Questions & réponses
Comment soutenir CodeS-SourceS
Comment faire un lien vers CodeS-SourceS
Autres questions
A propos & don
A propos du réseau
Les modérateurs
Remerciements
Faire un don
Le livre d'or
Tous les livres
Les dernières parutions
Les plus consultés
Les critiques
Le top des ventes
Le top favoris des membres
Recevoir des livres blancs
Tous les thèmes
Les derniers messages
Les nouveaux messages
Poser une question
Le Chat - IRC
Tous les tutoriels
Ajouter un tutoriel
Les tutoriels en vidéo
Les formations vidéos
Tous les codes
Ajouter un code
Filtrer par catégorie
Filtrer par date
Les plus récents
Les mis à jour
Les codes par jour
Filtrer par niveau
Niveau débutant
Niveau initié
Niveau expert
Filtrer par type
Les codes avec capture
Les codes avec zip
Les codes .Net
Filtrer par qualité
Les plus populaires
Les plus populaires du mois
Les plus téléchargés
Les mieux notés
Top par catégorie
Top des favoris
Filtrer par auteur
Tous les auteurs
Le top des membres
Les snippets
Déposer votre CV
Consulter les offres d'emploi ou de stage
Consulter les CVs
Déposer une offre d'emploi ou de stage
Modèles de CV et lettres
Trouver une convention collective
Les écoles d'informatique
Toutes les écoles
Ajouter une école
Les outils
Outils pour développeurs
Trouver des ressources
Base de données de CodeS-SourceS
Télécharger les meilleurs logiciels
Comparer les prix
Envoyer des ecards
Création de bannières
Annuaire de la prog
Tous les sites
Ajouter votre site
Le dico de la prog
Toutes les définitions
Ajouter une définition
Les évènements
Tous les évènements
Les évènements à venir
Ajouter un évènement
Téléchargements
CodeS-SourceS Toolbox
CodeS-SourceS Toolbar
Toolbar pour FireFox
Fonds d'écran
Les compil's
Nos partenaires
Magazine Programmez
Frontier.fr
Xiti
ProgOnline
Winwise
Editions Eyrolles
Toute la liste
Les RFC
CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
begin process at 2012 02 10 20:27:07
Accueil
Codes
Tutoriels
Forum
Livres
Emploi
Services
Connexion
Trouver un code source :
dans
Tout le site
Codes
Tutoriels
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Veuillez saisir votre recherche... Ex: smtp, lire un fichier, rs232
Options de recherche :
Tous les codes
Tous les codes en .Net
Tous les codes sauf .Net
Langages disponibles :
Tous les langages
ASP / ASP.NET
Assembleur
C / C++ / C++.NET
C# / C#.NET
ColdFusion
Delphi
Flash
Flex, Air, ActionScript
Foxpro
Graphisme
IRC
JAVA / J2EE
Javascript / Ajax / DHTML
PDA / PocketPC
PHP
Python
Regex, Regular Expression, Expression régulière
SQL
Visual Basic, VB6, VB.NET, VB 2005, VB
446 commentaire(s) de Forman
sur des sources sur tout
CodeS-SourceS
Déposé sur
Générer un son à la volée
Je passais par là donc j'en profite pour laisser mon commentaire :)
Tout d'abord un peu de pub: pour générer du son à la volée (et aussi en enregistrer) il y a aussi mes composants TWaveIn et TWaveOut:
http://www.delphifr.com/codes/SON-MONTE-MONTE-MONTE_33689.aspx
http://www.delphifr.com/codes/PROGRAMME-MIX-AUDIO- APPRENTI-DJ_33254.aspx
http://www.delphifr.com/codes/CHRONOMETRE-THE_47398.aspx
Ils sont basés sur des API plus performantes que sndPlaySound et permettent de faire la même chose avec plus de paramètres. Les données du son doivent être générées à la volée dans un événement, qui permet de ne pas avoir à se soucier de le faire dans un thread externe (donc le programme ne bloque pas).
Autre chose: dans ta boucle, je vois:
for i:=0 to BEAUCOUP do begin
if VARIABLE=1 then ...
if VARIABLE=2 then ...
if VARIABLE=3 then ...
...
end;
Déjà, un "case VARIABLE of" serait mieux. Mais étant donné que la boucle peut potentiellement consommer beaucoup de ressources et que VARIABLE est un invariant par rapport à la boucle (ie: ne varie pas) le code suivant serait plus efficace, car il permet de ne pas faire le test à chaque itération:
case VARIABLE of
1:for i:=0 to BEAUCOUP do ...
2:for i:=0 to BEAUCOUP do ...
3:for i:=0 to BEAUCOUP do ...
...
end;
Dans ce cas-là ça n'est pas très important car le calcul n'est pas très compliqué, mais si tu commences à générer des effets audio complexes en temps réel alors cela peut avoir de l'importance.
Idem pour la division Frequency / SampleRate qui devrait être stockée dans un flottant avant la boucle pour éviter de la recalculer à chaque itération. La multiplication par i pourrait alors être changée en une incrémentation par cette valeur.
Dans le même ordre d'idée, les générateurs de son en temps réel utilisent aussi des tables de cosinus précalculées.
Posté le :
24/06/2010 20:16:07
Déposé sur
Le crime parfait
Caribensila: il me semble qu'ici les PING sont ici exécutés séquentiellement, pas en parallèle (c'est même le but de la man½uvre!). Il n'y en a donc jamais plus d'un à la fois, ce qui ne devrait pas trop gêner le scheduler.
Posté le :
14/05/2010 17:11:27
Déposé sur
Le crime parfait
MAURICIO: Peut-être que TASKLIST ne fonctionne pas pareil alors. Théoriquement, lorsque le processus n'existe pas, la commande renvoie 1 seule ligne de texte. Sinon, elle en renvoie plusieurs (3 il me semble). Mon fichier BAT compte le nombre de sauts de lignes renvoyés par TASKLIST: s'il y en a plus de zéro (processus "running"), il réessaie jusqu'à ce qu'il n'en reste plus (processus "stopped").
Posté le :
14/05/2010 17:09:17
Déposé sur
Le crime parfait
Merci d'avoir regardé. Peut-être que TASKLIST fonctionne différemment sous Vista...
En remplaçant SW_HIDE par 0, la fenêtre de console devrait être affichée et donner plus de détails, si tu as le temps.
Posté le :
14/05/2010 14:05:18
Déposé sur
Le crime parfait
Au fait si quelqu'un peut tester mon code plus haut sous d'autres versions de Windows que XP, ça m'intéresse.
Posté le :
14/05/2010 13:00:14
Déposé sur
Le crime parfait
Je me permets d'ajouter ma solution. Ne laisse aucune trace et fait briller, quel que soit le temps mis par le processus pour se terminer (testé sous WinXP). MonsieurPropre peut être lancé n'importe quand (par exemple au démarrage du programme, ou dans l'événement OnCreate d'une fiche).
Le PING n'est pas vraiment nécessaire, il sert uniquement à éviter de trop gâcher du temps machine.
procedure MonsieurPropre;
var
l:TStringList;
begin
l:=TStringList.Create;
try
l.Add(':LOOP');
l.Add('PING 127.0.0.1 -n 2 -w 1000');
l.Add('SET N=0');
l.Add('FOR /F "delims=" %%i IN (''TASKLIST /FI "IMAGENAME EQ %1"'') DO SET /a N+=1');
l.Add('IF %N% NEQ 0 (GOTO LOOP)');
l.Add('DEL %1');
l.Add('DEL %0');
l.SaveToFile('MrPropre.bat');
ShellExecute(0,nil,'MrPropre.bat',PChar(ExtractFileName(Application.Exename)+#0),nil,SW_HIDE);
finally
l.Destroy;
end;
end;
Posté le :
13/05/2010 05:54:25
Déposé sur
Encodage vidéo en temps réel: taviwriter
Ricquet: il faut regarder les deux fichiers SimpleCompressorDialogFormUnit.pas et ExtendedCompressorDialogFormUnit.pas qui implémentent toutes deux une procédure similaire:
function ExecuteSimpleCompressorDialog(ABIH:TBitmapInfoHeader;AMode:Cardinal;var Quality,DataRate,FrameRate,MaxFramesBetweenKeys:Cardinal;var AutoKeyFrames:Boolean):HIC;
function ExecuteExtendedCompressorDialog(ABIH:TBitmapInfoHeader;AMode:Cardinal;var Quality,DataRate,FrameRate,MaxFramesBetweenKeys:Cardinal;var AutoKeyFrames:Boolean):HIC;
Dans ces deux cas, le résultat de la fonction correspond à la variable SelectedIC qui doit être renvoyée par l'événement custom. Il faut entre autres utiliser les API ICOpen, ICGetInfo, ICCompressQuery et ICInfo pour obtenir la liste des codecs installés ainsi que leurs propriétés, et renvoyer un handle dans SelectedIC . Pour cela, j'ai peur qu'il faille aller lire les doc MSDN correspondantes...
philgeorges: ça viendra quand j'aurai le temps. En ce moment ça n'est pas vraiment d'actualité, j'ai trop de boulot!
Il faudrait modifier procedure TAVIWriter.AddFrame: à la place de AVIStreamWrite(...) il faudrait envoyer les données sur un socket. Ca c'est facile. Ce qui est plus difficile, c'est de décompresser à l'autre bout du socket (entre autres, il faut que l'IC soit ouvert avec exactement les mêmes paramètres).
Posté le :
24/03/2010 12:38:16
Déposé sur
Encodage vidéo en temps réel: taviwriter
Au fait, correction par rapport à ce que j'avais écrit précédemment: la propriété AVIMaxFramesBetweenKeys est bel et bien supportée. C'est le nombre de frames entre chaque keyframes. C'est un peu technique, mais généralement, plus le fichier final a de keyframe, plus le seeking dans le fichier sera précis. S'il n'y a que deux keyframes (au début et au milieu par exemple), on ne pourra commencer la lecture du fichier qu'au début ou au milieu du film. Moi j'utilise en gros la valeur 20 (grosso modo, une keyframe toutes les secondes). Cette propriété n'est utilisée que si AVIAutoKeyFrames vaut true. Là encore, certains compresseurs ont leur propre gestion des keyframes (dans ce cas, utiliser AVIAutoKeyFrames:=False).
Posté le :
24/03/2010 11:35:53
Déposé sur
Encodage vidéo en temps réel: taviwriter
En fait, AviDataRate correspond à une taille fichier moyenne des frames sur 1000 secondes (même unité que AVIFrameRate).
Ton calcul plus bas est faux, car il faut donc multiplier par 1000. En outre, ça n'aurait aucun sens car les frames ne seraient pas compressées!
Le paramètre AviDataRate n'est pas le seul à déterminer la taille du fichier final. Il y a aussi le paramètre de qualité, qui est supporté par la plupart des compresseurs (beaucoup plus souvent que le datarate).
Posté le :
24/03/2010 09:59:43
Déposé sur
Encodage vidéo en temps réel: taviwriter
L'unité de temps est définie à 1000 secondes. Donc pour un AVI à 24 images par secondes, il faut utiliser AviFrameRate=24000.
Idem pour AviDataRate, qui correspond à la taille moyenne (en octets) occupée par 1000 secondes d'AVI. Cette propriété n'a rien à voir avec le framerate, et peut être ou non supportée par le compresseur. Si c'est le cas, et si le nombre de frames est connu elle peut être utilisée pour fixer une taille approximative au fichier final à générer (je crois qu'il faut utiliser datarate := taillefinaledésirée * framerate / nombredeframes ). Ce paramètre n'est pas à modifier à la légère pour certains compresseurs. S'il est égal zéro, la valeur par défaut du compresseur est utilisée (recommandé).
La propriété AVIMaxFramesBetweenKeys n'est pas supportée car je ne sais pas comment transmettre le paramètre au compresseur. Mais elle peut pourrait être supportée en implémentant une boîte de dialogue spéciale (OnCustomSelectCompressor).
Dans la plupart des cas, il est préférable de faire appel à la boîte de dialogue du compresseur pour changer les paramètres plutôt que de le faire manuellement.
Posté le :
23/03/2010 11:36:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Nos sponsors
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.
par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article
par Patrick Guimonet
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3
par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !
par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article
par Vko
[FRAMEWORK 4] LES TASKS ET LE THREAD UI
[FRAMEWORK 4] LES TASKS ET LE THREAD UI
par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article
par fathi
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE
par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article
par JeremyJeanson
La suite
RSS
Côté IT
Utiliser Office 365 pour un projet d?équipe - PART 2
Utiliser Office 365 pour un projet d?équipe - PART 1
SharePoint 2007 : Installation du Service Pack 3 de MOSS
SharePoint 2007 : Installation du Service Pack 3 de WSS V3
Installation de SQL Server DENALI CTP3
Mise à jour de Windows 2003 R2 vers Windows 2008 R2
Upgrade de SQL Server 2005 vers SQL Server 2008 R2
La suite
RSS
Offres d'emploi
Recherche Recherche développeur web ASP et ASP.Net
Recherche Analyste Programmeur Adélia
Recherche Développeur eZ Publish confirmé
Recherche AP (H/F) ACCESS EXCEL VBA
Recherche SUPPORT INFORMATIQUE / DEVELOPPEUR
Recherche Developpeur web
Recherche développeur Web
Déposer une offre
La suite
RSS
Formations Video
Coffret : Ateliers sur la mode
Atelier sur la mode : Motifs et matières
Atelier sur la mode : La planche tendance
Atelier sur la mode : De retour de pige et repérage
Corel Painter 12 : Les fondamentaux
Coffret : Microsoft Office 2010 de A à Z
De Microsoft Office 2003 à 2007 et 2010
La suite
RSS
Appels d'offres
Passerelle Pericles sur site Joomla 17
Budget :
499€
Infogerance Serveur Debian Linux
Budget :
2 400€
Developpeur applications iphone - ipad - android
Budget :
800€
La suite
RSS
Logiciels
Academy System (17.2.1.0)
ACADEMY SYSTEM (17.2.1.0)
Logiciel de gestion des établissements. - élèves/étudiants (inscription, dossier, absence...) -...
Cliquez pour télécharger Academy System
Easy-Planning (1.0.0.1)
EASY-PLANNING (1.0.0.1)
Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ...
Cliquez pour télécharger Easy-Planning
COLLECTOR PLUS (3.00B)
COLLECTOR PLUS (3.00B)
COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par : - L...
Cliquez pour télécharger COLLECTOR PLUS
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)
PONAMEDIA TV DEVIENS HELLLOOO FLASH LA TV SUR VOTRE ORDINATEUR. Toute une plateforme Multi...
Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO
LettresFaciles 2011 (8.0.0.1)
LETTRESFACILES 2011 (8.0.0.1)
LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types. Son inte...
Cliquez pour télécharger LettresFaciles 2011
+ de logiciels à télécharger
Vidéos drôles
Halloween Party
Terry Tate Office Linebacker Superbowl 2003
Jeu vidéo instructif
C'est un véritable vol !
Banana Song
Comment attraper la grippe A
Parodie Pub Window 7
La suite
RSS
Sondage...
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Statistiques
1 873 405
membres
223
nouveaux aujourd'hui
16 151
membres club
Comparez les prix
Motorola MILESTONE
Entre 489€ et 489€
Visiter le guide achat
CalendriCode
Février
2012
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Consulter la suite du CalendriCode
Photothèque
Visiter la photothèque
CS Tool Box