From 5d541f9872bb301bc1b08d621fb2e4cb7b5421c8 Mon Sep 17 00:00:00 2001 From: Valentin Villenave Date: Mon, 14 Jan 2008 00:57:57 +0100 Subject: [PATCH] Revert "first patch from Joe: fix a bug FIXME number" This reverts commit 4fb83031bac58babe2f6a1eea92af286a4469d1a. Signed-off-by: Valentin Villenave --- lily/clef-engraver.cc | 1 + lily/ottava-engraver.cc | 5 +++-- lily/pitch-scheme.cc | 18 ---------------- ly/engraver-init.ly | 6 +----- scm/define-context-properties.scm | 8 +------ scm/music-functions.scm | 35 ++++++++++++++++++------------- scm/parser-clef.scm | 6 ++---- 7 files changed, 29 insertions(+), 50 deletions(-) diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 74992be976..d9b2e27dea 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -202,5 +202,6 @@ ADD_TRANSLATOR (Clef_engraver, "clefPosition " "explicitClefVisibility " "forceClef " + "middleCPosition " , /* write */ ""); diff --git a/lily/ottava-engraver.cc b/lily/ottava-engraver.cc index 01bf1d85c6..c1afcfed3c 100644 --- a/lily/ottava-engraver.cc +++ b/lily/ottava-engraver.cc @@ -60,8 +60,9 @@ Ottava_spanner_engraver::process_music () span_ = make_spanner ("OttavaBracket", SCM_EOL); span_->set_property ("text", ott); - SCM offset (get_property ("middleCOffset")); - if (robust_scm2double (offset, 0) > 0) + SCM c0 (get_property ("middleCPosition")); + SCM oc0 (get_property ("originalMiddleCPosition")); + if (scm_less_p (oc0, c0) == SCM_BOOL_T) span_->set_property ("direction", scm_from_int (DOWN)); } } diff --git a/lily/pitch-scheme.cc b/lily/pitch-scheme.cc index 2eb36a6525..12ddddf10a 100644 --- a/lily/pitch-scheme.cc +++ b/lily/pitch-scheme.cc @@ -142,21 +142,3 @@ LY_DEFINE (ly_pitch_diff, "ly:pitch-diff", return pitch_interval (*r, *p).smobbed_copy (); } - -/* FIXME: probably isn't the right place for this function */ -#include "context.hh" -LY_DEFINE (ly_set_middle_C_x, "ly:set-middle-C!", - 1, 0, 0, (SCM context), - "Set the @code{middleCPosition} variable in @var{context}" - " based on the variables @code{middleCClefPosition} and" - " middleCOffset.") -{ - LY_ASSERT_SMOB (Context, context, 1); - - Context *c = unsmob_context (context); - int clef_pos = robust_scm2int (c->get_property ("middleCClefPosition"), 0); - int offset = robust_scm2int (c->get_property ("middleCOffset"), 0); - - c->set_property (ly_symbol2scm ("middleCPosition"), scm_from_int (clef_pos + offset)); - return SCM_UNDEFINED; -} diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 2b7d5a8281..d8ffe8990f 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -505,7 +505,6 @@ automatically when an output definition (a @code{\score} or tieWaitForNote = ##f clefGlyph = #"clefs.G" clefPosition = #-2 - middleCClefPosition = #-6 middleCPosition = #-6 firstClef = ##t @@ -572,8 +571,7 @@ automatically when an output definition (a @code{\score} or bassStaffProperties = #'((assign clefGlyph "clefs.F") (assign clefPosition 2) - (assign middleCPosition 6) - (assign middleCClefPosition 6)) + (assign middleCPosition 6)) %% tablature: stringOneTopmost = ##t highStringOne = ##t @@ -784,7 +782,6 @@ of Editio Vaticana." %% Choose vaticana do clef on 3rd line as default. clefGlyph = #"clefs.vaticana.do" middleCPosition = #1 - middleCClefPosition = #1 clefPosition = #1 clefOctavation = #0 @@ -885,7 +882,6 @@ accommodated for typesetting a piece in mensural style." %% Choose petrucci g clef on 2nd line as default. clefGlyph = #"clefs.petrucci.g" - middleCClefPosition = #-6 middleCPosition = #-6 clefPosition = #-2 clefOctavation = #0 diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index a80deb681c..528bce0901 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -306,15 +306,9 @@ markup. Called with two arguments, event and context.") @code{midiMinimumVolume}.") (midiMinimumVolume ,number? "Set the minimum loudness for MIDI. Ranges from 0 to@tie{}1.") - (middleCClefPosition ,number? "The position of the middle C, -as determined only by the clef. This can be calculated by looking at -@code{clefPosition} and @code{clefGlyph}.") - (middleCOffset ,number? "The offset of -middle C from the position given by @code{middleCClefPosition} This -is used for ottava brackets.") (middleCPosition ,number? "The place of the middle C, measured in half staff-spaces. Usually determined by looking at -@code{middleCClefPosition} and @code{middleCOffset}.") +@code{clefPosition} and @code{clefGlyph}.") (minimumFret ,number? "The tablature auto string-selecting mechanism selects the highest string with a fret at least @code{minimumFret}.") diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 1e7c524241..5585eebdb7 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -439,20 +439,27 @@ i.e. this is not an override" "Either reset middleCPosition to the stored original, or remember old middleCPosition, add OCTAVATION to middleCPosition, and set OTTAVATION to `8va', or whatever appropriate." - (if (number? (ly:context-property context 'middleCOffset)) - (let ((where (ly:context-property-where-defined context 'middleCOffset))) - (ly:context-unset-property where 'middleCOffset) - (ly:context-unset-property where 'ottavation))) - - (let* ((offset (* -7 octavation)) - (string (cdr (assoc octavation '((2 . "15ma") - (1 . "8va") - (0 . #f) - (-1 . "8vb") - (-2 . "15mb")))))) - (ly:context-set-property! context 'middleCOffset offset) - (ly:context-set-property! context 'ottavation string) - (ly:set-middle-C! context))) + (if (number? (ly:context-property context 'middleCPosition)) + (begin + (if (number? (ly:context-property context 'originalMiddleCPosition)) + (let ((where (ly:context-property-where-defined context 'middleCPosition))) + + (ly:context-set-property! context 'middleCPosition + (ly:context-property context 'originalMiddleCPosition)) + (ly:context-unset-property where 'originalMiddleCPosition) + (ly:context-unset-property where 'ottavation))) +ot + (let* ((where (ly:context-property-where-defined context 'middleCPosition)) + (c0 (ly:context-property context 'middleCPosition)) + (new-c0 (+ c0 (* -7 octavation))) + (string (cdr (assoc octavation '((2 . "15ma") + (1 . "8va") + (0 . #f) + (-1 . "8vb") + (-2 . "15mb")))))) + (ly:context-set-property! context 'middleCPosition new-c0) + (ly:context-set-property! context 'originalMiddleCPosition c0) + (ly:context-set-property! context 'ottavation string))))) (set! (ly:music-property m 'procedure) ottava-modify) (context-spec-music m 'Staff))) diff --git a/scm/parser-clef.scm b/scm/parser-clef.scm index ede242b4aa..4724090ff9 100644 --- a/scm/parser-clef.scm +++ b/scm/parser-clef.scm @@ -113,17 +113,15 @@ (if (pair? e) (let* ((musics (map make-prop-set `(((symbol . clefGlyph) (value . ,(cadr e))) - ((symbol . middleCClefPosition) + ((symbol . middleCPosition) (value . ,(+ oct (caddr e) (cdr (assoc (cadr e) c0-pitch-alist))))) ((symbol . clefPosition) (value . ,(caddr e))) ((symbol . clefOctavation) (value . ,(- oct)))))) - (recalc-mid-C (make-music 'ApplyContext)) (seq (make-music 'SequentialMusic - 'elements (append musics (list recalc-mid-C)))) + 'elements musics)) (csp (make-music 'ContextSpeccedMusic))) - (set! (ly:music-property recalc-mid-C 'procedure) ly:set-middle-C!) (context-spec-music seq 'Staff)) (begin (ly:warning (_ "unknown clef type `~a'") clef-name) -- 2.39.5