anyone still using these?
advice on getting one or both to work with 3.10?
thanks in advance
anyone still using these?
advice on getting one or both to work with 3.10?
thanks in advance
I have just started using superfomus recently (with 3.10/3.11).
Iām on macOS and the issues I encountered were mostly with handling of paths (and installing fomus itself). Hereās some notes:
you need to install fomus - the installer fails but I was able to install by hand, I believe
you need to make sure that fomus executable is in the PATH
"which fomus".unixCmd
if this returns non-0, that means that SC canāt find fomus. Add its path (where you installed it) to the PATH env variable, in my case: "PATH".setenv("PATH".getenv ++ ":/usr/local/bin")
and re-run "which fomus".unixCmd
, which should now return a path to the fomus executable
I hope this helps!
Marcin
I recently went through a research spike on SuperCollider + FOMUS/Lily for a project. Let me see what I can rememberā¦
I have to agree that FOMUS breaks easily and I havenāt investigated further number of issues I have encountered (handling rests etc).
Fomus was my choice since I needed musicXML output and AFAIK LilyPond does not provide thatā¦
And yes, absolutely, any score generation still needs manual cleanup, I donāt think thereās really a way around it (especially for semi-complex and certainly for all complex notation tasks).
m
Thank You both. Will write with any problems. Doing something quite simple actually.
Apologies for bumping - has anyone had any luck building fomus recently ? I actually found a bug in boost while attempting to build it this weekend, and the way my system is set up, building older versions of boost that are ostensibly compatible with fomus is a non-starter.
Hoping against hope, but itād be really nice, as superfomus fits much more nicely into my workflow than n-armstrongās library.
i just tried building it locally with Boost 1.72 on Arch Linux, with lilypond and puredata extensions enabled. some nasty errors but this is the patch i ended up with: https://pastebin.com/cp07X55W
Amazing work - I got part of the way there (replacing some of the headers that you did). But figured I was sunk when I found a bug in boost.rational (bad enough that the #boost irc channel told me to submit an issue tracker!). Iāll apply this patch and come back to this thread if I have any issues.
was the boost.rational bug the way it somehow causes iomanip operators to instantiate a bad form of numeric_limits? i didnāt look into that too much but it seemed really bizarre. i fixed that by simply calling the equivalent function on the iostream rather than using << std::fixed
, for example. also, this was with gcc 10 where i believe the default setting is std=c++14
.
@VIRTUALDOG - yes I believe thatās where it was getting hung up - there were some easier issues to sort out (i.e. the changing of the location of library), but that one got me. I still havenāt had a chance to apply your patch as I had a major release at work this week, but Iāll give it a crack today.
Thanks for taking a look at it.
Looks like this gets me basically all the way there, with two issues - one with an issue with ncurses/curses not being found (def an issue with my system and the paths in the makefile) and another one that seems more serious:
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../src/lib/.libs/libfomus.so: undefined reference to `fomus::fom_get_sval_up[abi:cxx11](int)'
This is defined in schedr.h / instrs.h so thereās something wonky going on with the includes.
Did you run into this at all in your travels ? If not, no worries, I likely can figure it out, just donāt want to duplicate work in case you already wrestled with this.
hey! sorry, i didnāt ever see that issue while i was compiling. did you figure it out yet?
Still working through it. It looks like it an issue with linkage, rather than an issue with the code. Iāve got some learning about C++ to do, apparently!
If you have time, can you do a quick obj dump on the libfomus.so file ? The main problem I see is that the method is undefined, so something is getting wonky with the linking and I donāt know if itās the ./configure configuration or what - knowing if you have the same representation of the object as me would be super useful.
$ objdump -T ./src/lib/.libs/libfomus.so | grep fom_get_sval_up
0000000000000000 D *UND* 0000000000000000 _ZN5fomus15fom_get_sval_upB5cxx11Ei
i would try building again from a clean start; i just took a look and i donāt see any reason for this, so it is probably because youāve been trying to build multiple times while changing the source tree. have you made any modifications besides the patch i posted?
whatās your compiler?
This is the sequence of events:
Compiler:
murphy@emergentprocess ~/Downloads/fomus-0.1.18-alpha
$ g++ --version
g++ (Gentoo 10.2.0 p1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Iāve also noticed that Iāve needed to make a change to the makefile in the āexeā directory to link to ā-ltinfoā since that doesnāt seem to be in any of the linked libraries.
perhaps Iām apply the patch wrong or should be using a different set of libraries or a different configure incantation ?
EDIT: fwiw, this project uses a lot of magic behind the scenes to generate the makefiles and that may be causing some of the issues. Iām going to look to see if thereās a gentoo overlay from a while back that built this, bc thereās likely something that needs to change.
EDIT2: Iāll try to build this on an Arch Box and see if I have better luck.
ah i get this error now. i was compiling in debug prior. let me see if i can find the issue.
ok, it wasnāt so bad, just the same function declared inline in one spot and non-inline in another . i have it compiling now in release mode with this patch:
Ah! you are much better at C++ than I am. l was coming to post that I tried compiling this on my netbook and had the same issue.
Bingo - this works - offtopic, how were you able to track this down ? I shouldāve been able to do this as I develop software in C++ for a living, but apparently thereās a bit of a gap with applying the tooling/knowledge I have to unfamiliar codebases.
Additionally, Iāve put the source into github after running a clang format on it and pasted it here: https://github.com/john-d-murphy/fomus
thank you very much for your help!