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

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

> Forums de discussion > 7 - Développer/Traduire/Documenter/Annoncer une application > [RÉSOLU] minicomputer est-il encore fonctionnel ? (était "ne compile pas sous debian stretch")
Dernier post
Page : 1/2   -   Aller directement à la page : 1  2 

[RÉSOLU] minicomputer est-il encore fonctionnel ? (était "ne compile pas sous debian stretch")

olinuxx utilisateur non connecté France
minicomputer ne compile pas sous debian stretch.

Dépendances de construction installées : libasound2-dev, libfltk1.1-dev, libjack-jackd2-dev, liblo-dev, et scons.


Les messages de la console disent :
$ scons
scons: Reading SConscript files ...
 
Minicomputer-------------- 
-                     1/2:configuring
Checking for C library jack... yes
Checking for C library lo... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                    checking dependencies for the editor:
Checking for C library lo... yes
Checking for C++ library fltk... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                     2/2:compiling
-                     building the engine:

-                     building the editor:
scons: done reading SConscript files.
scons: Building targets ...
gcc -o cpu/main.o -c -g -O3 -msse -fwhole-program -ftree-vectorize -ffast-math -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fprefetch-loop-arrays -mfpmath=sse cpu/main.c
cpu/main.c: In function 'main':
cpu/main.c:1285:2: warning: 'jack_client_new' is deprecated [-Wdeprecated-declarations]
  client = jack_client_new(jackName);
  ^~~~~~
In file included from cpu/main.c:21:0:
/usr/include/jack/jack.h:127:17: note: declared here
 jack_client_t * jack_client_new (const char *client_name) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                 ^~~~~~~~~~~~~~~
g++ -o editor/Memory.o -c -O3 -Wall -fmessage-length=0 editor/Memory.cpp
editor/Memory.cpp: In constructor 'Memory::Memory()':
editor/Memory.cpp:55:23: error: 'R_OK' was not declared in this scope
    if (access(folder, R_OK) != 0)
                       ^~~~
editor/Memory.cpp:55:27: error: 'access' was not declared in this scope
    if (access(folder, R_OK) != 0)
                           ^
editor/Memory.cpp: In member function 'void Memory::save()':
editor/Memory.cpp:183:22: error: 'R_OK' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                      ^~~~
editor/Memory.cpp:183:26: error: 'access' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                          ^
editor/Memory.cpp: In member function 'void Memory::saveMulti()':
editor/Memory.cpp:489:22: error: 'R_OK' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                      ^~~~
editor/Memory.cpp:489:26: error: 'access' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                          ^
scons: *** [editor/Memory.o] Error 1
scons: building terminated because of errors.


J'ai envoyé un message à son auteur.

jpcima utilisateur non connecté France
Une inclusion unistd.h en tête de fichier devrait faire l'affaire.

cf. man 3 access

olinuxx utilisateur non connecté France
Merci Jean-Pierre, c'était bien ça, la construction a pu continuer.

Maintenant, je tombe sur un autre type de problème :

scons: Reading SConscript files ...
 
Minicomputer-------------- 
-                     1/2:configuring
Checking for C library jack... yes
Checking for C library lo... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                    checking dependencies for the editor:
Checking for C library lo... yes
Checking for C++ library fltk... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                     2/2:compiling
-                     building the engine:

-                     building the editor:
scons: done reading SConscript files.
scons: Building targets ...
gcc -o cpu/main.o -c -g -O3 -msse -fwhole-program -ftree-vectorize -ffast-math -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fprefetch-loop-arrays -mfpmath=sse cpu/main.c
cpu/main.c: In function 'main':
cpu/main.c:1285:2: warning: 'jack_client_new' is deprecated [-Wdeprecated-declarations]
  client = jack_client_new(jackName);
  ^~~~~~
In file included from cpu/main.c:21:0:
/usr/include/jack/jack.h:127:17: note: declared here
 jack_client_t * jack_client_new (const char *client_name) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                 ^~~~~~~~~~~~~~~
g++ -o editor/Memory.o -c -O3 -Wall -lm -fmessage-length=0 editor/Memory.cpp
g++ -o editor/main.o -c -O3 -Wall -lm -fmessage-length=0 editor/main.cpp
editor/main.cpp: In function 'int main(int, char**)':
editor/main.cpp:284:6: warning: unused variable 'err' [-Wunused-variable]
  int err = pthread_create(&midithread, NULL, midiprocessor,seq_handle);
      ^~~
In file included from editor/main.cpp:28:0:
editor/syntheditor.h: At global scope:
editor/syntheditor.h:121:22: warning: 'idata_miniMini' defined but not used [-Wunused-variable]
 static unsigned char idata_miniMini[] =
                      ^~~~~~~~~~~~~~
g++ -o editor/syntheditor.o -c -O3 -Wall -lm -fmessage-length=0 editor/syntheditor.cxx
editor/syntheditor.cxx: In function 'void storemulti(Fl_Widget*, void*)':
editor/syntheditor.cxx:1265:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((t!=currentmulti) && (t>-1) && (t<128))
        ~^~~~~~~~~~~~~~
g++ -o minicomputer editor/main.o editor/Memory.o editor/syntheditor.o -llo -lfltk -lasound -lpthread
gcc -o minicomputerCPU cpu/main.o -ljack -llo -lasound -lpthread
/usr/bin/ld: cpu/main.o: undefined reference to symbol 'cos@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
scons: *** [minicomputerCPU] Error 1
scons: building terminated because of errors.


J'ai eu un problème similaire lorsque j'ai empaqueté le logiciel tap-reverbed, voir le sujet : [RÉSOLU] tap-reverbed ne compile plus sur Debian Stretch.

Je suis donc parti sur l'idée qu'il fallait ajouter un "-lm" à LDFLAGS pour que la compilation passe mais ai échoué pour l'instant après avoir fait plusieurs essais dans le fichier SConstruct.

Une idée ?

jpcima utilisateur non connecté France
J'y connais trop rien à scons, néanmoins j'ai réussi à faire une compilation, et voici une rustine.

https://git.io/fwluS

olinuxx utilisateur non connecté France
Merci encore.

Pour ma culture personnelle, comment as-tu fait/deviné le fait qu'il fallait utiliser LIBS plutôt que LDFLAGS (ce que j'avais essayé mais qui ne fonctionnait pas) ?

C'est à dire :
env.Append(LIBS = ['-lm'])
guienv.Append(LIBS = ['-lm'])

plutôt que :
env.Append(LDFLAGS = ['-lm'])
guienv.Append(LDFLAGS = ['-lm'])



Alors, résultat des courses, la GUI démarre, il y a un port midi-in, mais le binaire ne crée pas de port jack audio. J'en suis là.

jpcima utilisateur non connecté France
Citation :
Pour ma culture personnelle, comment as-tu fait/deviné le fait qu'il fallait utiliser LIBS plutôt que LDFLAGS (ce que j'avais essayé mais qui ne fonctionnait pas) ?


Sincèrement je n'ai pas su trouver l'information utile dans le manuel de scons, alors j'ai cherché celle-ci dans le code source. https://git.io/fwDCB

Citation :
Alors, résultat des courses, la GUI démarre, il y a un port midi-in, mais le binaire ne crée pas de port jack audio. J'en suis là.


As-tu observé que le programme se compose de deux processus?
La sortie console met en évidence que `minicomputer` lance `minicomputerCPU`, et que manifestement ces 2 sont respectivement l'interface et le moteur de synthèse.

Quand `minicomputerCPU` ne fait pas partie du `PATH` j'ai ça :
sh: minicomputerCPU: command not found

Mais une fois réglé le port Jack apparait bien.


Pour autant, j'ai pas réussi à comprendre comment en faire sortir du son. (pourtant j'ai bien lancé le script installpresets)

olinuxx utilisateur non connecté France
Ah oui, bien vu pour les infos dans les sources de scons !

Pour minicomputer, oui j'ai vu qu'il y a 2 binaires (minicomputer et minicomputerCPU). Les 2 sont installés dans /usr/bin ici (donc dans le PATH).

Les fichiers de préréglages sont bien installés dans le répertoire ~/.miniComputer/ mais, malgré cela, je n'ai pas de port audio JACK. J'ai juste un port MIDI-in "miniEditor7770".

En laçant minicomputer depuis un terminal, j'ai ça :
$ minicomputer
minieditor version 1.41
loading /home/moi/.miniComputer/minicomputerMemory.txt

osc port 7770
minicomputer version 1.41
osc port 7770
liblo server error 9904 in path (null): cannot find free port
minicomputer
options are:
 -bg2 color
 -bg color
 -di[splay] host:n.n
 -dn[d]
 -fg color
 -g[eometry] WxH+X+Y
 -i[conic]
 -k[bd]
 -na[me] classname
 -nod[nd]
 -nok[bd]
 -not[ooltips]
 -s[cheme] scheme
 -ti[tle] windowtitle
 -to[oltips]



Je continue de chercher.

bda utilisateur non connecté France
Salut,
désolé de déterrer ce sujet mais j'arrive à faire fonctionner minicomputer.

Il faut l'installer avec sudo scons install (dans /usr/local sinon il ne marche pas chez moi non plus)
Installer les fichier ".txt" depuis factoryPresets dans ~/.miniComputer/

Ensuite il apparaît dans qjackctl via a2jmimid (c'est impératf pour mon clavier MIDI).

un simple "minicomputer" dans un terminal le lance. Il fonctionne très bien chez moi.

Je pense (à vérifier) que le chemin d'accès vers minicomputerCPU est en dur dans les sources.

Son défaut vient de son interface peu lisible, en particulier sur mon écran HiDPI.

Mais il pourrait correspondre à ce que je cherche ici.

Si il me convient, j'essaierai de le compiler sur Raspberry Pi. Ça peut peut être faire un bon petit synthé bien crade comme j'aime ;)

bda utilisateur non connecté France
Je n'avais pas bien regardé ton post olinuxx. As-tu essayé avec minicomputer -port 9000 comme décrit dans la doc?

olinuxx utilisateur non connecté France
Ouep, pareil malheureusement, je n'ai pas de ports jack audio en sortie.

Voilà pour l'IGU que j'obtiens, et pour la vue dans catia :
Image
Image

bda utilisateur non connecté France
As tu essayé avec qjackctl? Je n'utilise pas catia...
Je suis sous Debian Testing.
Et je n'utilise pas pulse non plus (mais apulse).

Voilà ce que j'obtiens:
bruno@awalee ~ $ minicomputer
minieditor version 1.41
loading /home/bruno/.miniComputer/minicomputerMemory.txt

osc port 7770
minicomputer
options are:
 -bg2 color
 -bg color
 -di[splay] host:n.n
 -dn[d]
 -fg color
 -g[eometry] WxH+X+Y
 -i[conic]
 -k[bd]
 -na[me] classname
 -nod[nd]
 -nok[bd]
 -not[ooltips]
 -s[cheme] scheme
 -ti[tle] windowtitle
 -to[oltips]
minicomputer version 1.41
osc port 7770

La fenêtre de qjackctl:
Image

L'interface de minicomputer est identique à la tienne mais illisible car trop petite pour mon écran.

olinuxx utilisateur non connecté France
Oui, c'est la même chose avec qjackctl, pas de port de connexion audio pour minicomputer malheureusement.

bda utilisateur non connecté France
Trouvé :-)
Il ne marche qu'avec jack0. Je n'ai (sur PC et Rpi) aucun port audio avec jackd2.
Il y a une erreur dans le terminal:
jack_client_new: deprecated
jack_port_get_buffer called with an incorrect port 0 (répétée 4 fois)


Je ne me souviens plus pourquoi j'avais installé jackd0 au lieu de jackd2...
Je vais regarder si c'est compliqué ou non de l'adapter à jackd2.

bda utilisateur non connecté France
Minicomputer a un fonctionnement assez étrange. Il n'a pas "montré" ses ports jack pendant plusieurs jours sur ma raspberry pi avec jackd2. Et puis là, comme par magie, il fonctionne parfaitement. Les seules màj n'ont absolument aucun lien direct ou indirect avec lui ou jack (j'ai vérifié chaque dépendance avec ldd par exemple).
Là c'est avec carla ou qjackctl. Il fonctionne POINT. C'est à en devenir chèvre ;).
Dommage car on peut en tirer quelques sonorités sympa. Je vais me faire quelques échantillons et le laisser de côté quelque temps.
J'ai trop de chose à faire chaque jour...

olinuxx utilisateur non connecté France
@bda : tu veux dire qu'il fonctionne avec jack1 mais pas avec jack2 ?

bda utilisateur non connecté France
En fait non. Il fonctionne de façon aléatoire.
Comme il fonctionnait avec jack1 sur mon PC, mais pas avec jack2 sur raspberry pi, j'ai essayé jack2 sur le PC. Il ne fonctionnait plus. Après un retour à jack1 il fonctionnait de nouveau.
J'ai essayé sur raspberry pi. Idem.
Sauf que ce n'est pas lié à la version de jack car il lui arrive de ne pas fonctionner avec jack1 ET jack2 puis de fonctionner avec les 2 deux jours plus tard.
Un bug aléatoire à la noix...
C'est dommage car il sonne bien "crade". J'aime beaucoup.

Je n'ai pas trop le temps d'aller chercher plus loin pour le moment...

olinuxx utilisateur non connecté France
ok, merci pour le retour

olinuxx utilisateur non connecté France
Pour info, jpcima en a fait une reprise et j'ai un paquet en test dans LZK2.
Ça compile, et j'ai même les sorties audio à présent, youhou ! cool

r1 utilisateur non connecté France
Et ça fait du bruit !

Merci !

bda utilisateur non connecté France
Bonne nouvelle :-)

Je vais essayer de compiler tes sources (je puise régulièrement dans les dépôts sources de ta distrib) sur rpi3.

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

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

syberia303, 22:23, jeu. 05 Dec 2019: Sitala: une boîte à rythmes lecteur d'échantillons disponible au format vst ou en programme autonome:[Lien]
allany, 20:29, jeu. 05 Dec 2019: Coco, il est là l'édito ! [Lien]
sub26nico, 23:17, mer. 04 Dec 2019: Salut et bienvenue à Olivier212, MusoCompoSon, TroupeV et Fred71 :-)
olinuxx, 13:38, dim. 01 Dec 2019: Bonjour et bienvenue à FIFI71 cool
r1, 09:20, sam. 30 Nov 2019: @sasaki : dans le cas de mon album, cela veut dire trésor. Un clin d'œil à mes princesses dont la maman est chinoise.
Sasaki, 14:50, ven. 29 Nov 2019: @olinuxx : Bao Bao peut signifier en mandarin : - mon coeur/mon chéri/mon trésor/ma puce (宝宝) ou bien - tempête de grêle !(雹暴)
olinuxx, 14:27, jeu. 28 Nov 2019: Bonjour et bienvenue à LarryV cool
sub26nico, 23:22, mar. 26 Nov 2019: salut et bienvenue à sanouchtef, stefanouch et Philben :-)
olinuxx, 15:38, mar. 26 Nov 2019: Bonjour et bienvenue à jit cool
olinuxx, 10:41, lun. 25 Nov 2019: Bonjour et bienvenue à Rafy Martos et à vella 38 cool
olinuxx, 18:13, sam. 23 Nov 2019: @lila : va ici : [Lien]
olinuxx, 17:49, sam. 23 Nov 2019: Bonjour et bienvenue à aa78 et à Michmech cool