From: Han-Wen Nienhuys Date: Wed, 2 Dec 1998 09:43:08 +0000 (+0100) Subject: release: 1.1.10 X-Git-Tag: release/1.1.10 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d5cb9291cc9dda11f5644b0ded2fc95dff313aa3;p=lilypond.git release: 1.1.10 --- diff --git a/Documentation/COPERTINA.in b/Documentation/COPERTINA.in index 546352483b..0084289559 100644 --- a/Documentation/COPERTINA.in +++ b/Documentation/COPERTINA.in @@ -1,8 +1,10 @@ -LilyPond è il tipografo musicale del progetto GNU. Questo programma -può stampare delle belle partiture a partire da un documento di -definizioni musicali. Può anche creare meccaniche rappresentazioni -della partitura in un documento in formato MIDI. Le caratteristiche del -programma includono pentagrammi multipli, segni di divisione, chiavi, -tasti, parole, versatile linguaggio di definizione, cadenze, legature, -acciaccature, terzine, segni di formattazione, estrazione delle -parte. È compresa una seria completa di caratteri musicali. +LilyPond è il programma di notazione musicale del progetto +GNU. Questo programma può generare delle ottime partiture musicali +a partire da un file contenente la descrizione della musica. Può +anche generare esecuzioni meccaniche della partitura in formato +MIDI. Le caratteristiche del programma includono un versatile +linguaggio di descrizione musicale, pentagrammi multipli, segni di +divisione, chiavi, tasti, parole, cadenze, legature, acciaccature, +terzine, segni di formattazione ed estrazione delle parte. Nella +distribuzione è compreso anche un fort di simboli musicali. + diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 059cc78381..5689cfe7bf 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -413,6 +413,13 @@ The MIDI output was originally put in as a proof that MIDI could be done, and as a method of proof"reading" the input. The MIDI support is by no means finished. Patches appreciated. + +sect(Other) + +question(How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?) + +(ummm... unanswered as yet) + sect(Windows32) question(I downloaded the windows32 port, and it doesn't match the website!) diff --git a/Documentation/tex/computer-notation.bib b/Documentation/tex/computer-notation.bib index 2cadd45a20..b5d801d431 100644 --- a/Documentation/tex/computer-notation.bib +++ b/Documentation/tex/computer-notation.bib @@ -268,9 +268,9 @@ year = 1997, @TechReport {parish87, - note = {A brief overview of MusiCopy HWN}, + note = {A brief overview of {MusiCopy} HWN}, year = {1987}, - title = {MusiCopy: An automated Music Formatting System}, + title = {{MusiCopy}: An automated Music Formatting System}, author = {Allen Parish and Wael A. Hegazy and John S. Gourlay and Dean K. Roush and F. Javier Sola}, totalentry = {OSU-CISRC-10/87-TR29}, institution ={Department of Computer and Information Science, The Ohio State University}, @@ -294,12 +294,38 @@ The Ohio State University}, @TechReport {hegazy87, - note = {Describes the "parser" which converts MusiCopy MDL to MusiCopy Simultaneities & columns HWN}, year = {1987}, - title = {On the Implementation of the MusiCopy Language Processor,}, + title = {On the Implementation of the {MusiCopy} Language Processor,}, author = {Wael A. Hegazy}, number = {OSU-CISRC-10/87-TR34}, institution={Department of Computer and Information Science, The Ohio State University}, + + note = {Describes the "parser" which converts {MusiCopy} MDL to + MusiCopy Simultaneities and columns. + +MDL is short for Music Description Language\cite{gourlay86}. It +accepts music descriptions that are organised into measures filled +with voices, those filled notes. The measures can be arranged +simultaneously or sequentially. To address the 2-dimensionality, +almost all constructs in MDL must be labeled. + +MDL uses begin/end markers for attribute values and spanners. +Rightfully the author concludes that MusiCopy must administrate a +"state" variable containing both properties and current spanning symbols. + +MusiCopy attaches graphic information to the objects constructed in +the input: the elements of the input are partially complete graphic +objects. + +Since the design goals of both LilyPond and MusiCopy were roughly the +same, both systems have superficial similarities: the details of the +input format, the notation of "musical state". However, LilyPond +stresses extensibility, modularity and separation between content and +presentation much more, and this shows: LilyPond is more flexible. To +be fair: development of MusiCopy was abandoned in 1987, so it is not +surprising that LilyPond is more mature. +}, + } @@ -316,7 +342,7 @@ The Ohio State University}, @TechReport {roush87, note = {User manual of MusiCopy. Includes an impressive example piece. HWN}, year = {1987}, - title = {Using MusiCopy}, + title = {Using {MusiCopy}}, author = {Dean K. Roush}, number = {OSU-CISRC-18/87-TR31}, institution={Department of Computer and Information Science, The Ohio State University}, @@ -354,7 +380,7 @@ The Ohio State University}, @Article {gourlay86, - note = {This paper describes the MusiCopy musicsetting system and an input language to go with it. HWN}, + note = {This paper describes the {MusiCopy} musicsetting system and an input language to go with it. HWN}, year = {1986}, title = {A language for music printing}, author = {John. S. Gourlay}, @@ -482,8 +508,13 @@ The Ohio State University}, -@Book {Langston90, - note = {This paper deals with some command-line tools for music editing and playback. It doesn't mention notation issues, but does come with the grand idea (not) of using music to monitor complex systems. Imagine your nuclear plant supervisor to use AC/DC for checking the reactor HWN}, +@Article {Langston90, + note = {This paper deals with some command-line + tools for music editing and playback. It doesn't mention notation + issues, but does come with the grand idea (not) of using music to + monitor complex systems. Imagine your nuclear plant supervisor to + use AC/DC for checking the reactor HWN}, + year = {1990}, title = {Unix music tools at Bellcore}, author = {Peter S. Langston}, @@ -550,8 +581,6 @@ accepts the axiom that notation is too difficult to generate automatically. The result is that a notation program should be a WYSIWYG editor that allows one to tweak everything. - - The implementation therefore is quite "weak". The introductory chapters on engraving and notation are well structured and clear, though.} @@ -585,7 +614,7 @@ formulated by eg. \cite{wanske}} } note = {A lot rules for what is in the title are formulated. The descriptions are long and verbose. The verbosity shows that formulating specific rules is not the proper way to approach the -problem. In stead, the formulated rules should follow from more +problem. Instead, the formulated rules should follow from more general rules, similar to\cite{parrish87-simultaneities}}, } @@ -595,5 +624,6 @@ general rules, similar to\cite{parrish87-simultaneities}}, institution = {Department of informatics, University of Oslo}, year = 1989, number = 135, - note = {Placement of accidentals crystallised in an enormous set of rules. Same remarks as for \cite{grover89-twovoices} applies} -} + +note = {Placement of accidentals crystallised in an enormous set of +rules. Same remarks as for \cite{grover89-twovoices} applies} } diff --git a/Documentation/tex/other-packages.bib b/Documentation/tex/other-packages.bib index e9fc8f7a35..84bda2dcf1 100644 --- a/Documentation/tex/other-packages.bib +++ b/Documentation/tex/other-packages.bib @@ -21,6 +21,18 @@ html={http://www.sover.net/\~graphire/}, } +@Misc{Allin, + OPTkey = {}, + OPTauthor = {Thomas Allin}, + OPTtitle = {ALL IN theScore}, + OPThowpublished = {}, + OPTyear = {1998}, + OPTmonth = {}, + OPTnote = {beta version of a w32 score editor}, + OPTannote = {}, + html={http://www.musiker.nu/thescore/}, +} + @Misc{igor, title = {Igor}, author = {Technoligor AB}, diff --git a/NEWS b/NEWS index e732d25ea0..11db1ed873 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +pl 10 + pl 9.jcn3 - property: unfoldRepeats; unfolding still broken - volta spanner y-collision @@ -6,6 +8,11 @@ pl 9.jcn3 - small additions to init/lily.scm to enable some testing - junked extra repeat braces + +pl 9.uu2 + - bib stuff + - removed \output from parser/lexer + pl 9.jcn2 - bf/redo: slur.cc, encompass-info: setting of encompass array. - switched tuplet-engaver off (core dumps) @@ -17,6 +24,12 @@ pl 9.jcn1 - mutopia/opus-130.ly (excerpt, triggered by GUIDO) - bf: crescendo symbol + +pl 9.uu1 + - added faq entry + - copertina (thanks Maurizio) + + pl 9 - fixed \relative diff --git a/VERSION b/VERSION index 998430bb87..39690bc759 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=9 -MY_PATCH_LEVEL=jcn3 +PATCH_LEVEL=10 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/buildscripts/lilypond-login.sh b/buildscripts/lilypond-login.sh index f66a50af09..5752409eb6 100644 --- a/buildscripts/lilypond-login.sh +++ b/buildscripts/lilypond-login.sh @@ -8,6 +8,6 @@ setenv GS_FONTPATH "@datadir@/ps" setenv LILYINCLUDE "@datadir@/ly:@datadir@/afm" # include an empty path component for the system wide includes. -setenv MFINPUTS "@datadir@/mf:"${MFINPUTS:=":"} -setenv TEXINPUTS "@datadir@/tex:"${TEXINPUTS:=":"} +setenv MFINPUTS "@datadir@/mf:$MFINPUTS::" +setenv TEXINPUTS "@datadir@/tex:$TEXINPUTS::" setenv GUILE_LOAD_PATH "@datadir@/scm:$GUILE_LOAD_PATH" diff --git a/init/lily.scm b/init/lily.scm index 2497324dea..14ca7a7fe8 100644 --- a/init/lily.scm +++ b/init/lily.scm @@ -18,7 +18,7 @@ (define (numbers->string l) (apply string-append - (map (lambda (n) (string-append (number->string n) " ")) l))) + (map (lambda (n) (string-append (number->string n) " ")) l))) (define (chop-decimal x) (if (< (abs x) 0.001) 0.0 x)) @@ -26,21 +26,21 @@ (let* ((n (inexact->exact x)) (n64 (quotient n 64)) (n8 (quotient (- n (* n64 64)) 8))) - (string-append - (number->string n64) - (number->string n8) - (number->string (remainder (- n (+ (* n64 64) (* n8 8))) 8))))) + (string-append + (number->string n64) + (number->string n8) + (number->string (remainder (- n (+ (* n64 64) (* n8 8))) 8))))) (define (inexact->string x radix) (let ((n (inexact->exact x))) - (number->string n radix))) + (number->string n radix))) (define (control->string c) (string-append - (string-append (number->string (car c)) " ") - (string-append (number->string (cadr c)) " "))) + (string-append (number->string (car c)) " ") + (string-append (number->string (cadr c)) " "))) @@ -58,25 +58,35 @@ ;;;;;;;; - (define (empty) - "") +(define (empty) + "") - (define (empty1 a) - "") +(define (empty1 a) + "") + +(define (empty2 a b ) + "") - (define (empty2 a b ) - "") - (define emptybar empty1) (define setdynamic empty1) -(define (settext s) (text "text" s)) -(define (setnumber s) (text "number" s)) -(define repeatbar empty1) (define startrepeat empty1) +(define repeatbar empty1) +(define finishbar empty1) +(define extender empty1) +(define startbar empty1) +(define repeatbarstartrepeat empty1) +(define fatdoublebar empty1) +(define setfinger empty1) + +(define (settext s) (text "text" s)) +(define (setnumber s) (text "number" s)) (define (setbold s) (text "bold" s)) +(define (setitalic s) (text "italic" s)) (define (setnumber-1 s) (text "numberj" s)) + + ;;;;;;;; TeX @@ -135,7 +145,7 @@ "\n\\" s "{" (inexact->string i 10) "}" )) (define (char i) (string-append "\\show{" (inexact->string i 10) "}")) - + (define (invoke-dim1 s d) (string-append "\n\\" s "{" (number->dim d) "}")) @@ -189,6 +199,7 @@ (define (text f s) (string-append "\\set" f "{" s "}")) + (define (tuplet dx dy dir) (embedded-ps ((ps-scm 'tuplet) dx dy dir))) @@ -200,35 +211,35 @@ (cond ((eq? action-name 'all-definitions) `(begin - (define beam ,beam) - (define tuplet ,tuplet) - (define bracket ,bracket) - (define crescendo ,crescendo) - (define volta ,volta) - (define slur ,slur) - (define dashed-slur ,dashed-slur) - (define decrescendo ,decrescendo) - (define empty ,empty) - (define end-output ,end-output) - (define font-def ,font-def) - (define font-switch ,font-switch) - (define generalmeter ,generalmeter) - (define header-end ,header-end) - (define lily-def ,lily-def) - (define header ,header) - (define invoke-char ,invoke-char) - (define invoke-dim1 ,invoke-dim1) - (define placebox ,placebox) - (define rulesym ,rulesym) - (define start-line ,start-line) - (define stem ,stem) - (define stop-line ,stop-line) - (define text ,text) - (define experimental-on ,experimental-on) - (define char ,char) - (define maatstreep ,maatstreep) - (define pianobrace ,pianobrace) - )) + (define beam ,beam) + (define tuplet ,tuplet) + (define bracket ,bracket) + (define crescendo ,crescendo) + (define volta ,volta) + (define slur ,slur) + (define dashed-slur ,dashed-slur) + (define decrescendo ,decrescendo) + (define empty ,empty) + (define end-output ,end-output) + (define font-def ,font-def) + (define font-switch ,font-switch) + (define generalmeter ,generalmeter) + (define header-end ,header-end) + (define lily-def ,lily-def) + (define header ,header) + (define invoke-char ,invoke-char) + (define invoke-dim1 ,invoke-dim1) + (define placebox ,placebox) + (define rulesym ,rulesym) + (define start-line ,start-line) + (define stem ,stem) + (define stop-line ,stop-line) + (define text ,text) + (define experimental-on ,experimental-on) + (define char ,char) + (define maatstreep ,maatstreep) + (define pianobrace ,pianobrace) + )) ((eq? action-name 'experimental-on) experimental-on) ((eq? action-name 'beam) beam) @@ -370,32 +381,32 @@ ; dispatch on action-name (cond ((eq? action-name 'all-definitions) - `(begin - (define beam ,beam) - (define tuplet ,tuplet) - (define bracket ,bracket) - (define crescendo ,crescendo) - (define volta ,volta) - (define slur ,slur) - (define dashed-slur ,dashed-slur) - (define decrescendo ,decrescendo) - (define empty ,empty) - (define end-output ,end-output) - (define font-def ,font-def) - (define font-switch ,font-switch) - (define generalmeter ,generalmeter) - (define header-end ,header-end) - (define lily-def ,lily-def) - (define header ,header) - (define invoke-char ,invoke-char) - (define invoke-dim1 ,invoke-dim1) - (define placebox ,placebox) - (define rulesym ,rulesym) - (define start-line ,start-line) - (define stem ,stem) - (define stop-line ,stop-line) - (define text ,text) - )) + `(begin + (define beam ,beam) + (define tuplet ,tuplet) + (define bracket ,bracket) + (define crescendo ,crescendo) + (define volta ,volta) + (define slur ,slur) + (define dashed-slur ,dashed-slur) + (define decrescendo ,decrescendo) + (define empty ,empty) + (define end-output ,end-output) + (define font-def ,font-def) + (define font-switch ,font-switch) + (define generalmeter ,generalmeter) + (define header-end ,header-end) + (define lily-def ,lily-def) + (define header ,header) + (define invoke-char ,invoke-char) + (define invoke-dim1 ,invoke-dim1) + (define placebox ,placebox) + (define rulesym ,rulesym) + (define start-line ,start-line) + (define stem ,stem) + (define stop-line ,stop-line) + (define text ,text) + )) ((eq? action-name 'tuplet) tuplet) ((eq? action-name 'beam) beam) ((eq? action-name 'bracket) bracket) @@ -406,7 +417,7 @@ ((eq? action-name 'decrescendo) decrescendo) (else (error "unknown tag -- PS-SCM " action-name)) ) -) + ) diff --git a/input/bugs/slur-bug.fly b/input/bugs/slur-bug.fly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/slur-symmetry.ly b/input/bugs/slur-symmetry.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/opus-130.ly b/input/opus-130.ly new file mode 100644 index 0000000000..0f74f1e355 --- /dev/null +++ b/input/opus-130.ly @@ -0,0 +1,71 @@ +\header{ +filename = "opus-130.ly"; +title = "Quartett"; +description = ""; +composer = "Ludwig van Beethoven (1770-1827)"; +opus = "130"; +enteredby = "JCN"; +copyright = "public domain"; +} + +% \version "1.0.10"; + +global = \notes { + \key g; + \time 3/8; + \skip 4.*8; +% 1.1.9 broken +% \bar ":|"; +} + +tempi = \notes { + \property Voice.textstyle = "large" + s8^"Allegro assai" +} + +dynamics = \notes { + \type Voice=i + s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p | + s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p | +} + +violinei = \notes\relative c''{ + \type Voice=i + [d8(b)d16] r | g,4. | [a16(b c8)e16] r | g,8~fis4 | + [d''8(b)d16] r | g,4. | [a16(b c8)fis,16] r | fis8~g4 | +} + +violineii = \notes\relative c'{ + \type Voice=i + [b8(d)b] | [e(g,)e'] | [e(c)a'] | [a(c)a] | + % copy from violinei: 5-8 + [d8(b)d16] r | g,4. | [a16( b c8)fis,16] r | fis8~g4 | +} + +viola = \notes\relative c'{ + \type Voice=i + \clef "alto"; + [g8(b)g] | [b(e,)b'] | [c,(a')c,] | [c'(d,)c'] | [b(d)b] | + [e(g,)e'] | [e(e,<)a' c,]> | <[a(c,> )b,] | +} + +cello = \notes\relative c'{ + \type Voice=i + \clef "bass"; + g4 r8 | e'4 r8 | c4 r8 | d4 r8 | [g,,8 b g] | [b(e,)b'] | + [c,(a')d,] | [d'(d,)g] | +} + +\score{ + \type StaffGroup < + \type Staff = i < \tempi \global \dynamics \violinei > + \type Staff = ii < \global \dynamics \violineii > + \type Staff = iii < \global \dynamics \viola > + \type Staff = iv < \global \dynamics \cello > + > + \paper{ + \translator { \OrchestralScoreContext } + } + \midi{ \tempo 4 = 160; } +} + diff --git a/input/test/font.ly b/input/test/font.ly index b7f7ddb569..dd821c9614 100644 --- a/input/test/font.ly +++ b/input/test/font.ly @@ -21,7 +21,7 @@ description = "This file tests the Feta music font"; \paper_twenty linewidth = 17.5 \cm; gourlay_maxmeasures =5.; - \output = "font20.tex"; + output = "font20.tex"; } } diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 7b47c2e3d6..b87694b729 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -48,7 +48,6 @@ static Keyword_ent the_key_tab[]={ {"name", NAME}, {"notenames", NOTENAMES}, {"notes" , NOTES}, - {"output", OUTPUT}, {"partial", PARTIAL}, {"paper", PAPER}, {"penalty", PENALTY}, diff --git a/lily/parser.yy b/lily/parser.yy index c0c2230014..b2b807ac8f 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -187,7 +187,6 @@ yylex (YYSTYPE *s, void * v_l) %token NOTENAMES %token NOTES %token OCTAVE -%token OUTPUT %token PAPER %token PARTIAL %token PENALTY diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index f4171887cb..6c25d34376 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.9 -Inschrijf datum: 26NOV98 +Versie: 1.1.10 +Inschrijf datum: 02DEC98 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.9.tar.gz + 770k lilypond-1.1.10.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.9.tar.gz + 770k lilypond-1.1.10.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index c0adcbd091..e017975ab1 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.9 -Entered-date: 26NOV98 +Version: 1.1.10 +Entered-date: 02DEC98 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 770k lilypond-1.1.9.tar.gz + 770k lilypond-1.1.10.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.9.tar.gz + 770k lilypond-1.1.10.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 869f459693..4cb9a39f6e 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.9 +Version: 1.1.10 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.9.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.10.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index 6b3e9890ba..5ef657ad80 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -239,6 +239,88 @@ fet_beginchar("Quart ledger", "2l", "quartledger") draw_ledger(black_notehead_width#); fet_endchar; + + +if test = 0: +else: +def draw_harmonic_notehead(expr harmwid) = + save beamheight, head_width, head_char_width; + save holeheight, stem_width; + save serif_size, serif_protrude; + save stemthick; + save thin, thick; + save ht, schuif_op; + +% setup_notehead_vars; + +% a_b:=1.54; +% ai_a:=0; +% ai_bi:=1; +% b_h:=0.85; +% a_w:=1.09; + +% notehead_calc; + + + head_width# = harmwid; + + define_pixels(head_width); + +% ht# = noteheight#; + head_char_width = 1.54 noteheight; + head_char_width# := 1.54 ht#; + schuif_op = head_char_width - head_width; %ugh + schuif_op# := head_char_width# - head_width#; +% set_char_box(0, head_char_width#, noteheight#/2, noteheight#/2); + set_char_box(0, head_width#, head_width#/2, head_width#/2); +% 2 beamheight + holeheight = noteheight; + thin = stafflinethickness; + thick = 2.2 stafflinethickness; +% serif_size = (holeheight - stafflinethickness)/2; +% serif_protrude = 1.5 serif_size; + penpos1(thick, 45); + penpos2(thin, 315); + penpos3(thin, 135); + penpos4(thick, 45); + penpos5(thick, 225); + penpos6(thin, 135); + penpos7(thin, 315); + penpos8(thick, 225); + +% 1.5 noteheight = head_width; + z1l = (schuif_op, 0); + z2l = z1l; +% z3l = (schuif_op + head_width/2,-head_width/2); + z3l = (schuif_op + head_width/2, -noteheight/2); + z4l = z3l; + z5l = (schuif_op + head_width, 0); + z6l = z5l; +% z7l = (schuif_op + head_width/2, head_width/2); + z7l = (schuif_op + head_width/2, noteheight/2); + z8l = z7l; + + pickup pencircle; %scaled stemthick; + penlabels(1,2,3,4,5,6,7,8); + test_grid; + fill z1l -- z2r -- z7r -- z7l -- cycle; + fill z1l -- z1r -- z4r -- z4l -- cycle; + fill z3r -- z3l -- z6l -- z6r -- cycle; + fill z5r -- z5l -- z8l -- z8r -- cycle; +enddef; + +%save uitsteek; +% uitsteek = .25; +harmonic_wid# := interline#; + +fet_beginchar("Harmonic notehead","harmonic","harmonicball") + draw_harmonic_notehead(harmonic_wid#) +fet_endchar; + +fet_beginchar("Harmonic ledger", "harmonicl", "harmonicledger") + draw_ledger(harmonic_wid#); +fet_endchar; +fi + fet_endgroup("balls"); define_pixels(black_notehead_width); diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index 41729fe324..545a44775a 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -34,7 +34,7 @@ if test = 0: input feta-klef; input feta-timesig; else: -% input feta-bolletjes; + input feta-bolletjes; % input feta-banier; % input feta-eindelijk; % input feta-klef; diff --git a/mf/feta-harmonica.mf b/mf/feta-harmonica.mf new file mode 100644 index 0000000000..313c001688 --- /dev/null +++ b/mf/feta-harmonica.mf @@ -0,0 +1,6 @@ + + +fet_begingroup("balls"); + +fet_endgroup("balls"); + diff --git a/mutopia/opus-130.ly b/mutopia/opus-130.ly deleted file mode 100644 index 0f74f1e355..0000000000 --- a/mutopia/opus-130.ly +++ /dev/null @@ -1,71 +0,0 @@ -\header{ -filename = "opus-130.ly"; -title = "Quartett"; -description = ""; -composer = "Ludwig van Beethoven (1770-1827)"; -opus = "130"; -enteredby = "JCN"; -copyright = "public domain"; -} - -% \version "1.0.10"; - -global = \notes { - \key g; - \time 3/8; - \skip 4.*8; -% 1.1.9 broken -% \bar ":|"; -} - -tempi = \notes { - \property Voice.textstyle = "large" - s8^"Allegro assai" -} - -dynamics = \notes { - \type Voice=i - s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p | - s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p | -} - -violinei = \notes\relative c''{ - \type Voice=i - [d8(b)d16] r | g,4. | [a16(b c8)e16] r | g,8~fis4 | - [d''8(b)d16] r | g,4. | [a16(b c8)fis,16] r | fis8~g4 | -} - -violineii = \notes\relative c'{ - \type Voice=i - [b8(d)b] | [e(g,)e'] | [e(c)a'] | [a(c)a] | - % copy from violinei: 5-8 - [d8(b)d16] r | g,4. | [a16( b c8)fis,16] r | fis8~g4 | -} - -viola = \notes\relative c'{ - \type Voice=i - \clef "alto"; - [g8(b)g] | [b(e,)b'] | [c,(a')c,] | [c'(d,)c'] | [b(d)b] | - [e(g,)e'] | [e(e,<)a' c,]> | <[a(c,> )b,] | -} - -cello = \notes\relative c'{ - \type Voice=i - \clef "bass"; - g4 r8 | e'4 r8 | c4 r8 | d4 r8 | [g,,8 b g] | [b(e,)b'] | - [c,(a')d,] | [d'(d,)g] | -} - -\score{ - \type StaffGroup < - \type Staff = i < \tempi \global \dynamics \violinei > - \type Staff = ii < \global \dynamics \violineii > - \type Staff = iii < \global \dynamics \viola > - \type Staff = iv < \global \dynamics \cello > - > - \paper{ - \translator { \OrchestralScoreContext } - } - \midi{ \tempo 4 = 160; } -} - diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index bdfc00b4ff..577f96cb58 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -598,13 +598,16 @@ def main(): break except: continue - if std_init_filename == '': - print "error: Can't find mudela-book-defs.py" - os.exit(-1) - f = open(std_init_filename) - s = f.read() - f.close() - defined_mudela_cmd = eval(s) + defined_mudela_cmd_re = {} + try: + f = open(std_init_filename) + s = f.read() + f.close() + defined_mudela_cmd = eval(s) # UGH + except IOError, w: + sys.stderr.write("%s (`%s')\n" % (w[1], std_init_filename)) +# sys.exit(1) + if initfile != '': f = open(initfile) diff --git a/stepmake/stepmake/metapost-rules.make b/stepmake/stepmake/metapost-rules.make index a33b8cdd52..4cd6423483 100644 --- a/stepmake/stepmake/metapost-rules.make +++ b/stepmake/stepmake/metapost-rules.make @@ -10,3 +10,8 @@ $(outdir)/%.pfa: %.mf rm -f $(basename $(@F)).[0-9]* rm -f $(basename $<).log $(basename $<).tfm + + +#dokkum:~/usr/src/lilypond/mf$ inimpost /usr/share/texmf/metapost/base/mfplain.mp +#[....] \dump +