New port: audio/guidolib: Library for graphic rendering of music scores
Needs ReviewPublic

Authored by yuri on Sun, Dec 31, 2:54 AM.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 14247
Build 14410: arc lint + arc unit
yuri created this revision.Sun, Dec 31, 2:54 AM
yuri added a comment.EditedSun, Dec 31, 3:02 AM

It requires a massive and extensive patching. I submitted pull requests to them, and this helped, but it still has very messy makefiles.

Besides that, GuidoLib implements a new way of rendering musical notes.
It has its own language for this, which resembles a programing language, and special notation for all unique elements and constructs in music notation. This is upwards of 400 unique clauses.
GuidoLib is the (only?) alternative to the ubiquitous MusicXML, which is an XML schema.
GuidoLib language is much more concise, and much more humanly readable and writable, compared to MusicXML, which is only read and written by computer.

Example:

{ 
  [ \staffFormat<size=3pt> 
   \stemsOff  \noteFormat<"x",size=1.3> c d e f g a h c2  ],
  [ \staffFormat<size=3pt> \noteFormat<style="none">
 \beamsOff g/16 g f e/8 f  empty/2 b/32 empty/4 f2*1/16. f f ],
  [ \staffFormat<style="1-line"> \clef<"none">  
    \meter<"",autoBarlines="off"> \stemsOff g/4 g g g g e h ],
  [ \staffFormat<size=3pt> c d e f g a h c2 ] 
}
mat added inline comments.Sun, Dec 31, 9:54 AM
audio/guidolib/Makefile
25

Is this actually used ?

37–66

patches ?

yuri marked 2 inline comments as done.Sun, Dec 31, 9:58 AM
yuri added inline comments.
audio/guidolib/Makefile
25

Yes

37–66

Half of them require variables in them. Plus, some need to be upstreamed.
I went back and forth with them, but with this upstream it's never enough.

yuri marked 3 inline comments as done.Sun, Dec 31, 9:58 AM
yuri marked an inline comment as done.Mon, Jan 1, 7:27 PM
tcberner added inline comments.Tue, Jan 9, 9:23 PM
audio/guidolib/Makefile
37–66

How about providing upstream a sensible CMakeLists.txt for the whole thing ^^ -- seems easier in the long run :D

98

^${DESTKOPDIR}

tcberner added inline comments.Tue, Jan 9, 9:32 PM
audio/guidolib/Makefile
20

^buildtools_build qmake_build

yuri updated this revision to Diff 37721.Wed, Jan 10, 8:22 AM
yuri marked 3 inline comments as done.

.

yuri added inline comments.Wed, Jan 10, 8:22 AM
audio/guidolib/Makefile
37–66

I did that, then they have added a lot more of the same.

mat added inline comments.Wed, Jan 10, 2:48 PM
audio/guidolib/Makefile
25

INSTALL_WRKSRC is only used in the do-install target in Mk/bsd.port.mk, which you are re-defining here, and then in USES=cmake, python, qmake, meson that you are not using, and in the ruby framework, which you are not using either.
So, it is never used anywhere.

yuri updated this revision to Diff 37729.Wed, Jan 10, 4:18 PM
yuri marked an inline comment as done.

Rm INSTALL_WRKSRC.

yuri marked an inline comment as done.Wed, Jan 10, 4:19 PM
yuri added inline comments.
audio/guidolib/Makefile
25

Ok, thanks.

yuri marked an inline comment as done.Wed, Jan 10, 4:19 PM