Pour l'emplacement de rephase ce pourrait être un paramètre à régler quelque part dans l'interface de dstudio (ou la première fois que l'on lance rephase depuis dstudio par exemple).
L'interet de lancer rephase depuis dstudio c'est que celui ci pourrait indiquer les parametres qu'il veut (fs, etc.) et ça permettrait aussi d'en lancer plusieurs en // (un par canal par exemple), puisque rephase est mono canal.
Perso je prefere vraiment passer par les IO standard plutot que des fichiers temporaires, d'autant plus si on veut pouvoir lancer plusieurs instances en //.
Par contre je ne comprends pas trop comment DStudio peut répérer des données d’un stdout d’un autre soft. (suis pas informaticien)
Exécuter un programme externe et écrire/lire sur ses IO standard est assez simple.
On pourrait imaginer que dstudio comporte simplement un bouton "FIR" sur chaque canal.
Au premier clic une popup demande de localiser rephase et l'info est conservée (jusqu'à ce que rephase soit introuvable).
rephase s'ouvre avec les paramètres par défaut indiqués en ligne de commande.
Quand l'utilisateur fait un "generate" le resultat est envoyé en json sur la sortie standard, avec également une entrée pour la correction elle-même (le contenu du fichier .rephase)
dstudio recupère l'info en lisant la sortie, stock le tout, et tue eventuellement le process
il ingère l'impulsion (et ses paramètres d'offset pour permettre un calage, par évident à penser en muti voies...) et stock également la correction rephase dans un coin
la fois suivante où l'utilisateur click à nouveau sur le bouton FIR rephase se ré ouvre et reçoit en paramètre la correction precedement utilisée sur ce canal
Quand l'utilisateur sauve son travail dans dstudio les correction rephase sont également stockées dans le même fichier