Chargement...
 
Skip to main content

4 - Toutes les autres applications, les émulateurs...


[RÉSOLU] Ajouter un executable à Raysession

Articles: 15
Bonjour,

Je viens d'installer Librazik.
A priori le créateur est par ici, j'en profite donc pour le remercier 😉

Suite à un conseil, je suis en train de créer une Session avec RaySession.
Je souhaiterais ajouter un exécutable qui est sous forme d'un script ( jakepulse.sh ).
Il se trouve dans le le répertoire "Mes Documents"

Pourriez vous m'indiquer la marche à suivre dans RaySession.

Merci 😉

Copy to clipboard
#!/bin/bash # pacmd load-module module-jack-source channels=2; pacmd load-module module-jack-sink channels=2; # DISCORD BRIDGE PULSEAUDIO - JACK pacmd load-module module-jack-source client_name=Discord-JACK channels=2 pacmd load-module module-jack-sink client_name=Discord-JACK channels=2 # FIREFOX BRIDGE PULSEAUDIO - JACK pacmd load-module module-jack-source client_name=Firefox-JACK channels=2 pacmd load-module module-jack-sink client_name=Firefox-JACK channels=2 # TEAMS BRIDGE PULSEAUDIO - JACK pacmd load-module module-jack-source client_name=Teams-JACK channels=2 pacmd load-module module-jack-sink client_name=Teams-JACK channels=2 # SDR BRIDGE PULSEAUDIO - JACK pacmd load-module module-jack-source client_name=Sdr-JACK channels=2 pacmd load-module module-jack-sink client_name=Sdr-JACK channels=2 # VLC BRIDGE PULSEAUDIO - JACK pacmd load-module module-jack-source client_name=Vlc-JACK channels=2 pacmd load-module module-jack-sink client_name=Vlc-JACK channels=2

Articles: 352 France
Bonjour.

Tu as plusieurs possibilités.

Dans tous les cas, copie ton script dans un dossier de ton PATH. Par exemple, copie le dans
Copy to clipboard
~/bin/
(créé le dossier bin/ dans ton dossier personnel, et colle ton script dedans). Si ton dossier bin/ n'existait pas, il me semble que tu devrais redémarrer, mais après, tout ce qui se trouve dans bin/ est exécutable depuis n'importe où, par exemple tu pourras executer
Copy to clipboard
jakepulse.sh

depuis n'importe où.


Solution n°1:


pour mettre le script en client de RaySession (comme les autres programmes quoi), il faudra en faire un démon, ce qui n'est pas dur, rajoute à la fin de ton script un truc qui ne le fait jamais terminer, par exemple cette ligne:
Copy to clipboard
while true;do sleep 0.5;done

Une fois que c'est fait, tu peux lancer ton script dans RaySession grâce au bouton Exécutable (ou Ctrl+E).


Solution n°2:


Utiliser les scripts de session, ce sera nécessaire si les autres clients (programmes) de la session ont besoin que ton script soit terminé avant d'être lancés. Pour ça je te renvoie au :manuel, même si je peux t'aiguiller en cas de soucis.
Articles: 5071 France
Note modération : merci d'utiliser la balise CODE lorsque tu copies/colles du code sur le site. Celles-ci permettent un meilleur affichage.
Lmao Code
Voir également cette page.

@pub69250@tutanota.com, j'ai édité ton message pour rajouter les balises code, merci d'y penser pour les prochaines fois.
Articles: 15
Merci Houston pour la précision de ta réponse !

Sub26nico, promis je ferai attention à l'avenir.;-)
Articles: 352 France
J'y ai même pas pensé hier soir, mais comme ton script ne fais que créer des ponts PulseAudio -> JACK, et que les script de session "avec mémoire de la configuration de JACK" gèrent aussi ces ponts, normalement, la seule chose que tu as à faire est de:

Créer une session en choisissant le modèle "Avec mémoire de la configuration de JACK".
Lancer ton script (pas depuis RaySession, mais depuis un terminal).
Sauvegarder la session.

Normalement, quand tu relanceras la session, les ponts devraient se faire tout seuls. Si ça ne marche pas bien, merci de signaler un bug aux autorités compétentes.

Je pense même que ça devrait marcher mieux que les deux solutions proposées, parce qu'il me semble que si ta session lance ton script alors que tes ponts existent déjà, il est possible que pacmd créé de nouveaux ponts qui feront doublons.
Articles: 15
Merci Houston j'essaye ça des ce soir !
Articles: 15
Alors, ce qui fonctionne c'est :

1/ lancer Cadence

2/ ouvrir ma Session Raysession créée précédemment avec "mémoire de la configuration de JACK"

3/ Lancer mon script séparément (sinon les ponts n'apparaissent pas).

Ce qui donne ceci une fois tout lancé

2021 10 09 11 05


Le résultat idéal serait que Raysession puisse donc lancer mon script automatiquement

J'ai bien ajouté à la fin du script
Copy to clipboard
while true;do sleep 0.5;done

J'ai ensuite positionné le script dans le répertoire ~bin

Je dois être idiot mais je ne vois pas quoi indiquer dans la fenêtre de RaySession

2021 10 09 11 34

J'ai essayé d'indiquer le chemin

Copy to clipboard
/bin/jackpulse.sh


Mais cela n'est pas ca.
Articles: 15
Je viens de comprendre.

Le sujet est résolu

Merci à tous !
Articles: 5071 France
Tu peux préciser stp ? ça permettra d'enrichir les connaissances communes. Et puis aussi :
Note modération : le sujet étant résolu, merci d'ajouter un [RÉSOLU] (ou un [CONTOURNÉ], ou bien encore un [ABANDONNÉ]) dans le titre de ton premier message. Voir ce paragraphe du manuel du site pour davantage d'informations.


Articles: 15
Il y avait juste un petit problème de lancement de Cadence au démarrage de l'ordi.
Maintenant Cadence se lance bien au démarrage et je n'ai plus qu'a ouvrir RaySession et tout roule !

C'est parfait !

Merci à tous pour votre aide précieuse
Articles: 352 France
@pub69250@totanota.com merci de nous remercier 😀.
Je ne suis pas certain que tu aies bien compris. Tu n'as pas besoin d'ajouter ton script à RaySession, puisque les scripts de mémoire de la config de JACK vont rappeler tous les ponts au chargement de ta session, et les enlever quand tu la fermes (ta session). Je viens de tester ici ça marche.

Il n' y a pas besoin que Cadence soit lancé, même pas que Cadence lance JACK, ta session devrait lancer JACK s'il ne l'est pas.

Quelque chose n'est pas très propre dans ton script, tu donnes le même nom à chaque fois au client module_jack_sink et module_jack_source, du coup le deuxième lancé se retrouve avec un suffix '-01', ce qui n'est pas parfait pour les décharger par un script par exemple.

Pour ta gouverne, tous les exécutables qui sont dans un dossier du $PATH s'exécutent sans préciser leur chemin complet. pour connaître ces dossiers, dans un terminal, tapes:
Copy to clipboard
echo $PATH


le retour ressemble à ça:
Copy to clipboard
/home/utisateur/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


c'est la liste des dossiers dans lesquels sont les exécutables, séparés par des deux-points, par ordre de priorité. C'est pourquoi on n'a pas besoin de taper /usr/bin/firefox, firefox suffit.

Le chemin que tu essayais de rentrer
Copy to clipboard
/bin/jackpulse.sh

est un chemin absolu puisqu'il commence par / .
Copy to clipboard
bin/jackpulse.sh

est le chemin relatif depuis ton dossier personnel (/home/utilisateur/). Donc le chemin absolu vers ton script est
Copy to clipboard
/home/utilisateur/bin/jackpulse.sh
, mais comme il est dans le PATH, jackpulse.sh suffit.

RaySession ne permet que d'ajouter un exécutable du PATH, c'est absolument intentionnel, parce que c'est la plupart du temps une bien mauvaise habitude que de préciser le chemin complet. Celà dit, c'est faisable quand même en ajoutant un exécutable, puis en le modifiant.
Articles: 15
Pardon, j'ai effectivement fait une erreur
Par défaut Librazic lancait Cadence
et je l'ai justement supprimé car cela créait une erreur quand je lancais RaySession

2021 10 10 14 51

Maintenant je n'ai plus qu'a ouvrir RaySession (sans mon script) et toutes mes connexions sont propres.
2021 10 10 14 55

Par contre je viens de remarquer que du coup, les grilles de routage sur Ardour ne fonctionnent pas.

Une idée ?
Articles: 352 France
Par défaut Librazic lancait Cadence
et je l'ai justement supprimé car cela créait une erreur quand je lancais RaySession


J'aimerais bien savoir quelle erreur apparaissait quand tu lançais RaySession.


Par contre je viens de remarquer que du coup, les grilles de routage sur Ardour ne fonctionnent pas.


Ça ne me paraît pas possible en fait, en tout cas ce n'est pas lié à RaySession. Peux-tu préciser ?