Connexion
Vous n'avez pas encore de compte personnel ? Vous devriez en créer un. Une fois enregistré vous aurez certains avantages, comme pouvoir modifier l'aspect du site, ou poster des commentaires signés...
Support
Discord
Activité du Site

Pages vues depuis 06/01/2019 : 23 435 566

  • Nb. de membres 379
  • Nb. d'articles 3 099
  • Nb. de forums 24
  • Nb. de sujets 13
  • Nb. de critiques 0

Top 10  Statistiques

Index du forum »»  Logiciel »» [Résolu] - Scripts Arexx perdus pour piloter ANR depuis PolyOrga

[Résolu] - Scripts Arexx perdus pour piloter ANR depuis PolyOrga#490

4Contributeur(s)
SergiusJaMiGaPapiosaurFab
1 Modérateur(s)
Papiosaur
Sergius Sergiusicon_post
Citation : JaMiGa 
-----------------------------------------
A vrai dire, PolyNET ou PolyOrganiser c'est pareil, peut importe.

Non, c'est pas pareil.

Alors, après avoir lu le guide, voilà ce que ça pourrait donner:


/**/
if ~show('Ports','AMINETRADIO.1') then do
    address command
        'run <>NIL: chemin_vers_aminetradio'
    'waitforport AMINETRADIO.1'
end
if show('Ports','AMINETRADIO.1') then do
        address 'AMINETRADIO.1'
        'PLAY NAME="http://radio.rim952.fr:8000/stream.mp3"'
        'SAVETODISK'
end


Ca devrait fonctionner, je ne peux pas tester lÃ, et dtf j'ai viré ce plantogène qu'est ANR.
Pour l'arrêt je te laisse chercher :-).

-----------------------------------------
Fin de citation

Je comprends très bien le sens du code à partir du deuxième if, mais je ne comprends pas à quoi sert le premier if.
Amigalement
JaMiGa JaMiGaicon_post

Je comprends très bien le sens du code à partir du deuxième if, mais je ne comprends pas à quoi sert le premier if.

J'en suis pas si sûr...mais bon passons.

Première partie: regarde si le port AMINETRADIO.1 n'est pas (le tilde c'est un non) présent, lance ANR le cas échéant et attends que le port soit prêt.
Deuxième partie: si le port est présent, lecture et enregistrement.
Et je ne vois pas d'erreur.

Sinon, je vends le Guide AREXX en français, faire offre.
(Ca doit au moins faire la cinquième fois que je donne ce lien, mais c'est pas grave.... :))
Sergius Sergiusicon_post
oki, avec l'explication c'est en effet très très clair.

Maintenant que je comprends toute la mécanique du script, je vais tenter avec le Guide de comprendre où ça coince.

Y a personne d'autre pour lancer ANR et executer ce script histoire de voir si ce n'est pas moi qui cloche dans l'histoire?
Amigalement


Edit:
Je viens de comprendre un truc.

L'erreur première viens du fait que je lancais le script depuis ram disk:
Ca fonctionne bien mieu sans l'espace et juste avec ram:

par contre le script s'arrete plus loin avec ça:

Ram Disk:> rx "Ram:ANR.rexx"
CD : erreur code 20
4 *-* 'run?<>NIL: sys:Applications/Audio/AmiNetRadio/AmiNetR...
+++ Command returned 20
waitforport AMINETRADIO.1: Commande inconnue
waitforport AMINETRADIO.1 : erreur code 10
5 *-* 'waitforport?AMINETRADIO.1';
+++ Command returned 10
Ram Disk:>
Sergius Sergiusicon_post
je fais mon petit bonhomme de chemin.
Alors, la communication a bien lieu entre Arexx et ANR puisque lorsque ANR est lancé et que j'execute le script suivant, ANR réagit normalement
/**/
if show('Ports','AMINETRADIO.1') then do
address 'AMINETRADIO.1'
'STOP'
end

Par contre, toujours avec ANR lancé, si j'execute le script suivant, rien ne se passe.

/**/
if show('Ports','AMINETRADIO.1') then do
        address 'AMINETRADIO.1'
        'PLAY NAME="http://radio.rim952.fr:8000/stream.mp3"'

Serait ce ANR qui décoconne?

Edit:

je viens de comprender qu'il faut utiliser PLAYURL et non PLAY. Mais ca ne fonctionne toujours pas :-#

x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0
x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0

Bon, j'ai enfin quelque chose de fonctionnel même si c'est très basique.

1- Polyorganiser lance ANR avec l'URL souhaitée séléctionnée pour la lecture.

Puis

2-Polyorga execute le scripte suivant qui va lancer l'enregistrement.

/**/
if show('Ports','AMINETRADIO.1') then do
address 'AMINETRADIO.1'
'SAVETODISK TOGGLE'
'PLAY'
end


Puis 5 heures plus tard
3- Polyorga execute ce ernier script

/**/
if show('Ports','AMINETRADIO.1') then do
address 'AMINETRADIO.1'
'SAVETODISK TOGGLE'
'STOP'
end

x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0
x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0

Il me reste a comprendre pour amélliorer le tout comment donner en argument l'URL Ã la commande PLAY ou PLAYURL ainsi qu'Ã faire fonctionner la condition de vérification de l'existence d'ANR.

Merci à tous ceux qui m'ont guidé et surtout à Jamiga.





JaMiGa JaMiGaicon_post

4 *-* 'run?<>NIL: sys:Applications/Audio/AmiNetRadio/AmiNetR...
5 *-* 'waitforport?AMINETRADIO.1';


Il y a des chances que les tabulations (ou autre) que j'ai mis dans mon exemple soient mal passées quand tu as fait le copier/coller (d'où la présence de point d'interrogations).
Et dans le guide d'ANR c'est bien dit que PLAYURL a été remplacé par PLAY NAME=url.
Sergius Sergiusicon_post
Citation : JaMiGa 


4 *-* 'run?<>NIL: sys:Applications/Audio/AmiNetRadio/AmiNetR...
5 *-* 'waitforport?AMINETRADIO.1';


Il y a des chances que les tabulations (ou autre) que j'ai mis dans mon exemple soient mal passées quand tu as fait le copier/coller (d'où la présence de point d'interrogations).
Et dans le guide d'ANR c'est bien dit que PLAYURL a été remplacé par PLAY NAME=url. 


Tu as probablement raison.
Pendant le copier/coller, il y avait des caractères étranges que j'ai viré, mais peut être qu'il reste des espace paressant vides et contenant en réalité des caractères qui ne s'affichent pas.
Je vais donc recopier le script à la main pour m'assurer que c'est réellement propre.
Pour PLAYURL, tu as bien raison, c'est mon esprit embrouillé qui a trop vite interprété ce qu'il a lut.

T'es un chef.
Merci
Amigalement
Sergius Sergiusicon_post
Ca y est, Jamiga avais bien raison. Les principaux soucis du script qu'il a fait venaient du copier/coller de OWB vers l'éditeur "ed". En effet, il restait des caractères non visibles mais pourtant présents et génant l'execussion du script.
J'ai légèrement adapté la fin du script pour que cela fonctionne. J'y suis arrivé en tatonnant.

Un grand merci donc à Jamiga pour sa précieuse aide.

Voici le script final et totalement fonctionnel:

/**/
if ~show('Ports','AMINETRADIO.1') then do
address command
'run <>NIL: MOS_2.4:Applications/Audio/AmiNetRadio/AmiNetRadio'
'waitforport AMINETRADIO.1'
end
if show('Ports','AMINETRADIO.1') then do
address 'AMINETRADIO.1'
'SAVETODISK TOGGLE'
'PLAY NAME="http://radio.rim952.fr:8000/stream.mp3"'
end



Le script stopant l'enregistrement d'ANR est :


/**/
if show('Ports','AMINETRADIO.1') then do
address 'AMINETRADIO.1'
'SAVETODISK TOGGLE'
'STOP'
end

Amigalement
JaMiGa JaMiGaicon_post
Un truc à savoir (enfin je pense que la plupart des gens le sait déjÃ) mais toute application MUI supporte normalement les commandes 'QUIT/HIDE/SHOW' entre autre (le reste dans le guide de MUI dispo sur aminet).
Donc rien ne t'empêche d'utiliser un simple

rx <>NIL: "address AMINETRADIO.1'QUIT'" ("<>NIL:" pour ne pas avoir de message d'erreur quand il ne trouve pas le port)


pour arrêter l'enregistrement (enfin en théorie, c'est ANR hein :) ).

PS: Et pour me remercier, respecte juste la casse, stp :)