Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

7 - Développer/Traduire/Documenter/Annoncer une application

Dernier post
Page : 3/5   -   Aller directement à la page : 1  2  3  4  5 

MultiSpace3D

aletheia utilisateur non connecté France
Le MultiSpace3D est un logiciel de spatialisation du son dans un environnement multicanal développé sous Linux, mais qui peut être compilé pour Windows avec Msys2.
Image
Il n’y a pas de limites au nombre de canaux ni au nombre d’éléments audios.

Il permet le placement d’objets audios d’un séquenceur (Ardour ou Reaper) dans l’espace 3D d’un studio, d’une salle de concert ou de tout autre dispositif haut parlant en utilisant de simples coordonnées cartésiennes (x,y,z). Ces coordonnées peuvent être enregistrées dans les séquenceurs par automation.
Il ne s’agit pas de concurrencer des logiciels comme le Spaces3D du GRM ou le Spat Révolution de l’Ircam, mais de fournir un outil simple et efficace pour la spatialisation du son sous Linux.
Il dispose nativement de 15 greffons qui permettent de spatialiser le son pour des espaces de projections classiques : Auro5.1, Auro7.1, Auro9.1, Auro11.1, Auro13.1, mais aussi pour des structures plus complexes comme le studio 115 de Radio France, le studio 4 de l’Ircam ou le Klangdom de la NHK.
Ces greffons reposent sur le langage Faust du Grame, et l’interface communique avec les greffons avec le protocole OSC( Open Sound Control).

Par ailleurs, il dispose d’un utilitaire pour créer de nouveaux espaces afin d’en étendre les possibilités.
Image
Il est possible de générer des fichiers DSP compilables dans l’application en ligne du Grame, FaustIDE, ou avec les scripts du langage Faust, pour générer des greffons LV2 ou VST .

Ce logiciel est sous licence GPL v3.
Cette version  a été réalisée et testée sur Debian/LibraZik 2.
La documentation est disponible ici .

olinuxx utilisateur non connecté France
Il y a toujours une référence à "space3D" dans spaceCreate.cpp et deux autres dans le README.md .

Pour en faire la traque, on peut se placer à la racine des sources et utiliser la commande :
grep -r space3D


aletheia utilisateur non connecté France
J'ai corrigé le readme.
Pour spaceCreate.cpp je ne corrigerai pas car c'est le nom d'une méthode :
void space3DDraw()

et là, ça pourrait mettre le bazar. Cela correspond à la fenêtre 3D openGl et rien à voir avec le multiSpace3D.

olinuxx utilisateur non connecté France
aletheia écrit :
Pour spaceCreate.cpp je ne corrigerai pas car c'est le nom d'une méthode :


Je ne parle pas du tout du nom de la méthode mais de cette ligne .

aletheia utilisateur non connecté France
Désolé, pas vu.
Maintenant corrigé.

olinuxx utilisateur non connecté France
Super.

Question suivante.
J'ai ici un fichier binaire "spaceCreate". Si je le lance à partir d'un terminal, il plante ainsi :

$  /usr/share/multiSpace3D/spaceCreate 
Failed to load font "FreeSerif.ttf" (failed to create the font face)


Est-ce normal ? (j'ai l'intuition que ce binaire n'est fait que pour être appelé par un lien dans l'interface graphique)

aletheia utilisateur non connecté France
Exactement.
Je pourrais rendre cet exécutable autonome, mais cela n'a pas grand intérêt, car il est lié au MultiSpace3D.
Je n'ai pas écrit de .sh pour cette raison et il n'est pas placé dans /usr/local/bin mais bien dans /usr/local/share/MultiSpace pour cette raison.
Le lien est dans la barre d'outils.

olinuxx utilisateur non connecté France
OK, c'est donc le lien "Space3D" dans le menu si je comprends correctement :

Image

Souci suivant alors : le dossier pour les données-utilisateur est actuellement ~/MultiSpace3D/ , il serait mieux dans ~/.config/MultiSpace3D/ (ce sont les standards freedesktop Image ).

aletheia utilisateur non connecté France
Non, le bouton space3D permet d'ouvrir une nouvelle instance du spatialiseur ce qui peut faciliter le travail avec des objets complexes. C'est le bouton New Space qui permet de lancer le spaceCreate. (Voir la doc: options de la barre d'outils).
http://blanchemain.info/Documents/Programmation/index.php?page=multiSpace3D#outils

Je comprends bien, mais ce n'est pas qu'un dossier de configuration mais un espace de travail dédié.
Le fichier
preferences.spc

pourrait être placé dans
~/.config/MultiSpace3D/

mais pour le reste, ça me parait abusif. spaceCreate génère un fichier .dsp, un descripteur .txt et un fichier .html. Le fichier dsp doit permettre de générer un Lv2 ou un Vst qui sera ensuite utilisable pour un séquenceur. Ce sont des fichiers de travail et non pas de configuration à proprement parler. L'utilisateur peut également avoir besoin d'intégrer le code html pour une documentation externe.
En outre, l'utilisateur peut créer autant de studio de projection qu'il le désire.

olinuxx utilisateur non connecté France
aletheia écrit :
Non, le bouton space3D permet d'ouvrir une nouvelle instance du spatialiseur ce qui peut faciliter le travail avec des objets complexes. C'est le bouton New Space qui permet de lancer le spaceCreate. (Voir la doc: options de la barre d'outils).
http://blanchemain.info/Documents/Programmation/index.php?page=multiSpace3D#outils


OK.

aletheia écrit :
Je comprends bien, mais ce n'est pas qu'un dossier de configuration mais un espace de travail dédié.
Le fichier

preferences.spc


pourrait être placé dans

~/.config/MultiSpace3D/


mais pour le reste, ça me parait abusif. spaceCreate génère un fichier .dsp, un descripteur .txt et un fichier .html. Le fichier dsp doit permettre de générer un Lv2 ou un Vst qui sera ensuite utilisable pour un séquenceur. Ce sont des fichiers de travail et non pas de configuration à proprement parler. L'utilisateur peut également avoir besoin d'intégrer le code html pour une documentation externe.
En outre, l'utilisateur peut créer autant de studio de projection qu'il le désire.


Pour ce qui n'est pas de l'ordre de la configuration, j'imagine en lisant la page de la page de la hiérarchie fichiers chez freedesktop Image que ça pourrait être placé ailleurs. Dans ~/.local/share/ par exemple ?

aletheia utilisateur non connecté France
Oui, mais cela va obligé l'utilisateur à autoriser les fichiers cachés dans son navigateur de fichier pour accéder aux dossiers des fichiers .dsp ou .html enregistrés pour le MultiSpace3D.
Ça me semble curieux comme démarche de travail. C'est un peut comme s'il fallait placer les fichiers .odt de LibreOffice pour la préparation d'un article dans
./local/share

On ne pourrait plus y accéder ensuite à partir de LibreOffice. Ça serait tout de même problématique.
À part Emacs, il n'y a pas beaucoup d'applications qui accèdent directement aux fichiers cachés avec leur gestionnaire de fichiers.
C'est un espace de travail, pas de configuration et je ne vois pas pourquoi il faudrait le cacher.
Je crée ce dossier pour faciliter le travail de l'utilisateur afin de disposer ensuite d'une structure efficace pour travailler avec le MultiSpace3D sans avoir à chercher quoi que ce soit. La hiérarchie de ce dossier correspond par ailleurs à ce qui est décrit dans ma documentation.
Si ce dossier n'est pas créé, l'utilisateur ne pourra pas gérer ces fichiers personnels, car c'est volontairement codé dans l'application. On peut toujours modifier cela, mais je ne vois vraiment pas l'intérêt, surtout pour l'utilisateur final qui demeure malgré tout le premier intéressé.
Il me semble bien qu'Ardour, par exemple, crée son propre espace de travail non caché dans l'espace utilisateur avec sa propre hiérarchie de fichiers sans que cela pose de problèmes à quiconque?

aletheia utilisateur non connecté France
J'ai modifié multiSpace3D.cpp et multiSpace3D.sh pour que la lecture et l'écriture du fichier de paramètres soient bien faites dans
$HOME/.config/multiSpace3D


olinuxx utilisateur non connecté France
J'aimerai mieux comprendre ce qu'est ce dossier.

Tu dis que c'est un dossier de données comparable à un dossier d'une session ardour. Cependant, avec Ardour, si je crée une session "ma première chanson", alors il crée un répertoire pour cette session. Et si je veux créer une autre session "ma deuxième chanson", alors il me crée un autre répertoire.

Est-ce le cas avec MultiSpace3D ?



Chouette pour le fichier de préférences.
Malheureusement, j'ai une erreur de compilation à présent :
make[2]: Entering directory '/build/multispace3d-0.0.0+20210118'
g++  -std=c++17 -O3 multiSpace3D.cpp -I ../../architecture -lstdc++fs -lsfml-graphics -lsfml-window -lsfml-system -llo -lGL -lGLU  -lGL  -DGL_GLEXT_PROTOTYPES  -lpthread `pkg-config --cflags --libs` -o multiSpace3D.bin
Must specify package names on the command line
multiSpace3D.cpp: In function 'int main(int, char**)':
multiSpace3D.cpp:33:1: error: 'pref' was not declared in this scope
 pref=home+"/.config/multiSpace3D";
 ^~~~
multiSpace3D.cpp:33:1: note: suggested alternative: 'dremf'
 pref=home+"/.config/multiSpace3D";
 ^~~~
 dremf
multiSpace3D.cpp: In function 'void validerParam()':
multiSpace3D.cpp:2146:26: error: 'pref' was not declared in this scope
  char * cstr = new char [pref.length()+1];
                          ^~~~
multiSpace3D.cpp:2146:26: note: suggested alternative: 'dremf'
  char * cstr = new char [pref.length()+1];
                          ^~~~
                          dremf
multiSpace3D.cpp: In function 'void readParam()':
multiSpace3D.cpp:2163:26: error: 'pref' was not declared in this scope
  char * cstr = new char [pref.length()+1];
                          ^~~~
multiSpace3D.cpp:2163:26: note: suggested alternative: 'dremf'
  char * cstr = new char [pref.length()+1];
                          ^~~~
                          dremf
make[2]: *** [Makefile:15: multiSpace3D] Error 1


aletheia utilisateur non connecté France
Le bug est corrigé sur github.


Avec Ardour, tu crées un dossier "ma première chanson" dans le dossier Ardour (ce qui n'est pas tout à fait la même chose) , dossier qui se trouve en général dans
$HOME/Musique/

qui rassemble tes projets musicaux avec Ardour.
Ce dossier "ma première chanson" comporte automatiquement les sous-dossiers :
analysis
dead
export
externals
interchange
peaks
plugins

que tu n'as pas demandés, mais qui sont indispensables au fonctionnement d'Ardour. Et tu remarqueras que dans ces dossiers tu as des fichiers qui sont à proprement parler des fichiers de configuration du projet pour Ardour.
Et bien là, c'est la même chose. (Voir la doc :
http://blanchemain.info/Documents/Programmation/index.php?page=multiSpace3D)
''(PS : tu remarqueras que j'ai même changé le nom de la page de mon site).

Par exemple :

Tu disposes d'un studio de 23 enceintes disposées approximativement comme le ZKM23. Mais certaines positions ne te conviennent pas.
Tu vas lancer spaceCreate et charger ZKM23 en renseignant son nom (sans extension) dans le champ réservé dans la fenêtre. Le chargement du fichier se fait automatiquement à partir de
$HOME/multiSpace3D/DSP

Tu modifies les enceintes qui doivent l'être et tu enregistres les modifications de ton studio en appelant celui-ci par exemple ZKMtest.
Tu disposeras alors toujours dans
$HOME/multiSpace3D/DSP

de tes fichiers ZKM23test.dsp, ZKM23test.spc, ZKM23test.html qui viennent d'être crée.
Maintenant tu peux écrire une page d'information sur ton site pour décrire ton studio en intégrant le fichier ZKM23test.html. Tu peux également générer un fichier LV2, qui, lui, est bien un fichier de configuration du greffon pour les séquenceurs qui sera ensuite légitimement placé dans le dossier caché .lv2. Ce fichier lv2 n'est pas directement éditable.
Par contre, si les tests de ton lv2 montrent que cela ne fonctionne pas correctement, tu pourras recommencer la procédure en rééditant le fichier ZKM23test du dossier:
$HOME/multiSpace3D/DSP

En admettant que ce lv2 fonctionne.
Tu vas affecter le greffon aux pistes de ton séquenceur qui sont concernées par la spatialisation.
Tu vas créer des mixeurs dans le MultiSpace3D que tu vas pouvoir positionner sur l'espace 3D de ton studio. Tu pourras même enregistrer leurs déplacements par automation dans le séquenceur.
Maintenant, si on veut spatialiser des objets au cours de création de ces objets au lieu de le faire en phase finale, il faudra pouvoir récupérer d'un jour ou d'une semaine sur l'autre les informations de spatialisation de ces objets pour continuer de travailler. D'où la possibilité d'enregistrer le fichier "ma chanson" correspondant au projet dans
$HOME/multiSpace3D/

Cela ressemble à la création d'un décor dans Blender. Il faut bien conserver de manière accessible les différents objets.
Ces informations pourront être récupérées ensuite dans le MultiSpace3D pour poursuivre le travail.
Tous ces fichiers et le dossier
$HOME/multiSpace3D/

doivent tous être éditables par l'utilisateur et ne doivent donc pas être cachés.Ce ne sont pas des fichiers de configuration du MultiSPace3D.

Le MultiSpace3D ne créera pas de nouveaux dossiers, mais il placera tous les fichiers réalisés par l'utilisateur dans ce dossier, comme Ardour avec son dossier générique Ardour.

olinuxx utilisateur non connecté France
aletheia écrit :
Le bug est corrigé sur github.


Je confirme que ça compile bien à présent. Merci.



À propos du dossier, si les fichiers présents dans $HOME/multiSpace3D/ sont des fichiers qui ont vocation à être édités à la main par l'utilisateur, alors je comprends que tu ne souhaites pas les placer dans un fichier caché.

Revenons à l'origine du truc. Il n'est pas souhaitable que les logiciels placent des fichiers dans ~/ sans le demander à l'utilisateur. Dans le cas d'Ardour, il demande où l'on souhaite placer les dossiers des sessions. Ça serait super si tu pouvais faire de même.

aletheia utilisateur non connecté France
@olinuxx
Voici une mise à jour importante :

J'ai ajouté un gestionnaire de fichiers basique afin de répondre à ta demande.

Je pense que cela sera mieux ainsi.
Je vais modifier la doc en conséquence.

Il faut recharger le github car les modifications sont conséquentes.
La lib boost : boost_system et boost_filesystem sont indispensables.

En espérant que cela compilera sans trop de problèmes.wink

Rapidement

  • Pour créer un nouveau dossier, on navigue dans la liste des répertoires, on définit son nom sur le champ inférieur de la fenêtre du sélecteur de fichier et on clique sur le dossier avec l'étoile.

On peut utiliser la molette ou les sliders pour le défilement.

  • Pour choisir un fichier, on clique sur un fichier de la liste de droite et on clique sur ok.

Il appartiendra à l'utilisateur de créer son propre dossier de travail et d'y enregistrer ses documents.

Comme précédemment les fichiers .dst et .html sont enregistrés par la même requête.
Le fichier .dsp est créé avec son icône qui lance la génération du fichier qui pourra être compilé avec Faust.

olinuxx utilisateur non connecté France
Super pour le gestionnaire de fichier basique.

Depuis le GIT main 9322754, ça compile mais j'ai ça lorsque je le l'utilise et que je clique sur l'icône de disquette (la 3ème en partant de la gauche) :

Failed to load image "/usr/share/multiSpace3D/gui/folder-new.png". Reason: Unable to open file
Failed to load image "/usr/share/multiSpace3D/gui/audio-speakers.png". Reason: Unable to open file


Et aussi, il semble que je n'ai pas d'étoile :

Image

aletheia utilisateur non connecté France
Oui, pas de chance, j'ai oublié ces images.
C'est fait sur github.
Il faudra à nouveau le rechargé car j'ai ajouté deux dossiers qui pourraient être important dans l'avenir.

olinuxx utilisateur non connecté France
OK, ça semble bon maintenant pour les images, dont :

Image



Il faudrait probablement modifier le texte ici du coup : https://github.com/dblanchemain/MultiSpace3D/blob/main/multiSpace3D.sh#L5 puisque le dossier ne se trouve plus à cet endroit.



Autre demande de ma part, en vue des utilisateurs : ça serait bien d'avoir un petit texte au dessus des icônes de la barre d'outils lorsque l'on survol avec la souris :

Image

Ça permettra une prise en main plus rapide du logiciel

aletheia utilisateur non connecté France
C'est fait sur github.
Les tooltips sont actifs.
J'ai fait la même chose pour le spaceCreate.

olinuxx utilisateur non connecté France
Super.
Remarques :
  • je note qu'il n'y a pas de lettres accentuées dans ces info-bulles
  • il vaut mieux utiliser "sauvegarder" plutôt qu'"enregistrer" dans un contexte musical car "enregistrer" fait référence à de l'enregistrement (audio) dans la plupart des logiciels.

Page : 3/5  [Suivant]
1  2  3  4  5 
Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 20:37, mer. 04 Aug 2021: Bonjour et bienvenue à PianoOrgan3478 cool
sub26nico, 16:00, mer. 04 Aug 2021: Bonjour et bienvenue à EricV86, smith8395john, alinabeth et leowilson :-)
sub26nico, 13:05, lun. 02 Aug 2021: @CyrilRos, ton lien ci-bas ne fonctionne pas
CyrilRos, 22:59, dim. 01 Aug 2021: Tux|N|Mix 21.1 disponible [Lien]
sub26nico, 14:33, dim. 01 Aug 2021: Salut et bienvenue à Youplala, Cant' et Bluetak :-)
CyrilRos, 21:45, mar. 27 Jul 2021: [Lien]
olinuxx, 20:54, mar. 27 Jul 2021: Bonjour et bienvenue à nick cool
olinuxx, 20:47, dim. 25 Jul 2021: Bonjour et bienvenue à GrosRems et à paulisaak cool
olinuxx, 20:05, jeu. 22 Jul 2021: Bonjour et bienvenue à labeyte07 cool
olinuxx, 21:03, mar. 20 Jul 2021: Bonjour et bienvenue à tv cool
Nolwen, 19:33, lun. 19 Jul 2021: Hola,À propos de la création de pattern (motifs) MIDI pour batterie, quelqu'un sait-il où en est la discussion ?
olinuxx, 01:28, lun. 19 Jul 2021: Lolo-Rosso : l'adresse courriel que tu as renseignée lors de ton inscription n'est pas fonctionnelle. Contacte moi pour corriger le soucis : [Lien]