concernant le CatchSound/loadSound, je te décris les deux choix qui
justifient leur utilisation, sans vraiment rentrer dans le détails.
1) Un fichier exécutable et plusieurs fichiers audio.
Dans ton programme tu vas utiliser LoadSound() pour pouvoir jouer les
sons enindiquant le nom des fichiers.
Si tu veux modifier un son, tu n'auras qu'a remplacer un fichier existant.
2) Un seul fichier exécutable
Les fichiers audios sont intégrés au fichier exécutable dans une zone
nommé DataSection
Pour lire les sons tu vas utiliser CatchSound() en indiquant leur
position pour les trouver.
Pour modifier un son tu devras recompiler le fichier exécutable.
Pour la gestion d'interface graphique, le pureBasic utilise le mot
Gadgetpour désigner les éléments.
Pour la saisie de texte , tu devras utiliser le TextGadget et tu n'as
pas à gérer les touches, c'est une zone de saisie.
Cette façon de faire et similaire à la plupart des autres langages.
concernant le python, tu n'as apparemment utilisé que le mode console,
qui est qu'une possibilité d'écriture de code de ce langage.
Tu peux tout a fait, et c'est d'ailleurs le mode le plus répandu, écrire
des milliers de lignes de code dans un fichier et lancer son exécution.
C'est ce que fait notre ami Quantin, en écrivant un éditeur de code
justement en langage python.
Le 18/04/2018 à 10:42, Michel Farfallini a écrit :
Bonjour,
Merci pour cette réponse très complète et intéressante.
Pour la lecture de fichiers de son, je suis parvenu à le faire avec
des fichiers .ogg en utilisant LoadSoudnet PlaySound. Bizarrement,
avec les fichiers .wav, ça reste muet ; je me demande s'il n'y a pas
une question d'échantillonnage du wave puisque j'ai vu qu'il y a
plusieurs valeurs possibles en wave. J'ai donc contourné le problème
en transformant mes fichiers .wav en fichiers .ogg avec Audacity. Je
n'ai toujours pas bien compris ce que catchSound peut ajouter à cela
et comment utiliser cette fonction.
En ce qui concerne le choix entre PureBasic et Python, je me suis posé
la question aussi. J'ai été découragé avec Python par le fait que la
console Python de NVDA ne fonctionne pas très bien, tout au moins ici
: pas moyen, par exemple, d'utiliser l'instruction Input de quelque
manière que ce soit. De plus, je trouve que l'exécution des lignes de
programme dès qu'elles sont écrites présente certes des avantages mais
aussi beaucoup d'inconvénients dès qu'il s'agit d'écrire un programme
un peu long ; cela constitue une sorte de rupture dans l'écriture qui
me gêne, à tout prendre, je préfère avoir à corriger les bugs en bloc,
au bout d'une longue séquence de code.
Pour le moment, je me contente de réécrire, pour qu'ils puissent
continuer à tourner sur les versions les plus récentes de Windows, de
petits programmes comme un annuaire, un dispositif de consultation de
dictionnaire de Scrabble, un agenda, que j'avais écrits en QuickBasic
et dont je me sers toujours. Pour l'annuaire et le dispositif de
consultation d’O D S c'est fait ; pour l'agenda, mon problème est de
trouver le moyen de créer facilement un petit éditeur de texte car
celui que j'avais fait en QuickBasic est certes transposable mais avec
un gros effort car j'avais dû écrire énormément de lignes pour prévoir
les déplacements du curseur, les effets des touches Backspace et Sup,
etc. Je viens aussi de faire un petit programme de pendule pour le jeu
d'échecs mais, là encore, je voudrais y adjointe un petit éditeur pour
la notation des coups de la partie jouée. Quelqu'un a essayé de
m'expliquer comment créer un éditeur en utilisant le mode fenêtre mais
je m'y perds un peu.
Si je m'orientais vers Python, j'aurais, je le sais, la possibilité de
faire des modules pour NVDA, donc quelque chose pouvant être utile Ã
d'autres et cela me plairait ; toutefois, outre que je ne suis pas Ã
l'aise avec la console de NVDA, comme je l'ai dit, je redoute d'entrer
dans des procédures un peu compliquées pour moi.
Pour information, combien coûte une licence PureBasic ?
    Bien cordialement,
Michel Farfallini
Le 18/04/2018 à 10:01, LavaChri a écrit :
Salut,
la version de démonstration de PureBasic comporte quelques limitation.
De mémoire, un maximum de 1000 ligne de code par programme et le
blocage des appels de fonctions API.
Et justement l'instruction Beep est un appel API, c'est à dire que
c'est un simple appel d'un fonction fournie par Windows.
Je ne connais pas d'instruction PB pouvant générer un son en
définissant une fréquence.
Il est probable que tu trouves des instructions API pour faire cela
mais il te faudra une license pour pouvoir les utiliser avec PB.
Dans PB, pour jouer des sons tu à la bibliothèque Sound.
Le principe est d'utiliser le fichier d'un son numérisé et de le jouer.
En utilisant l'instruction LoadSound() tu vas pouvoir charger le son
depuis un fichier
avec l'instruction CatchSound() tu vas pouvoir charger le son depuis
ton programme.
Cela sera utile si tu veux intégrer tes sons dans une section Data
dans le fichier EXE de ton programme.
Je crois que tu devrais dabord te familiariser avec LoadSound.
Nativement seul les fichier Wav peuvent être utilisés, mais tu peux
ajouter l'instruction UseOGGSoundDecoder pour lire les fichier OGG
Dans l'aide de l'instruction LoadSound tu trouveras un petit code
pour mettre en pratique ce que je viens de t'expliquer.
Pour utiliser les synthèse vocales SAPI4 ou SAPI5, il te faudra une
licence de PureBasic. mais c'est un peu pénible à faire.
Pour faire parler JAWS ou NVDA, il te faudra aussi une licence PB et
j'ai des code pour cela
PS: je ne connais pas tes ambitions en programmation mais avant que
tu investisses dans une licence de PureBasic, je pense qu'il serait
bon que tu réfléchisse au point suivants:
- Le PB est un langage simple, très rapide, très polyvalent, générant
des interface graphique plutôt accéssible et possédant une
documentation ergonomique.
Ainsi, il est facile de générer un fichier EXE mais tes connaissances
ne seront pas vraiment transposable.
Mais NVDA à décidé d'utiliser le python pour une partie de son
développement...
Alors, même si cela peut paraître un peu plus complexe d'utiliser ce
langage, il me semble raisonnable de les confronter avant de ce décider.
Le 17/04/2018 à 12:19, Michel Farfallini a écrit :
Bonjour,
Cela me dépasse complètement : Je suis allé voir le forum sur lequel
pointe le lien donné dans le message mais je n'y comprends rien.
Reprenons :
un bip, effectivement, il semble qu'il faille la version complète
pour le générer car lorsque je frappe beep, même suivi de
parenthèses, j'ai un message m’indiquant que cette fonction n'existe
pas ou qu’elle n'est pas supportée dans la version de démonstration ;
quant à CatchSound, je ne parviens pas à comprendre comment employer
cette fonction, même avec l'aide de Purebasic. Ce n'est pas parlant
pour moi ; c'est une architecture que mon esprit n'assimile pas.
Quelqu'un pourrait-il m'expliquer précisément ?
Pour l'instant, la méthode détournée que j'ai trouvée et qui
fonctionne, c'est de créer de petit fichiers au format OGG avec
Audacity et de les faire "interpréter" par mes programmes mais cela
ne correspond pas toujours à ce que je souhaite : s'il s'agit de
délivrer un message vocal déterminé, par exemple, cela convient
puisque j'enregistre le message, le met au format OGG et le fais
lire par le programme ; mais s'il s'agit de générer un son, là , ça
ne va pas. En QuickBasic il y avait une fonction Sound qu'on pouvait
paramétrer en indiquant une fréquence et une durée ou alors une
fonction Play qui permettait de jouer des notes données. N'y
aurait-il pas ici un équivalent ?
   Merci de votre aide.
Michel Farfallini
Le 13/04/2018 à 18:22, Abdel a écrit :
Coucou Michel,
Pour revenir un instant au Purebasic, y a-t-il un moyen simple de
faire entendre un bip ? En Basic et anciens dérivés, il suffisait
d'écrire beep dans le programme or, cette instruction est inconnue
en Purebasic.
Si tu veux utiliser des fichiers audio, il y a la fonction
catchsound (), voir la doc avec F1.
Autrement, si ton souhait est uniquement d'émettre un beep et que
tu es sous Windows, tu peux utiliser les fonctions API, comme la
fonction Beep_ (fréquence, durée).
Mais pour cela, je pense que tu dois disposer d'une version
complète de PureBasic.
À confirmer...
Voici un sujet qui évoque cette question :
http://forums.purebasic.com/french/viewtopic.php?f=1&t=11003&view=previous
Bien amicalement,
Abdel.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
Progliste : Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir
les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle
que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en
utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
--
LavaChri
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
--
LavaChri
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.