]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/page.cc (Page): Do not use ly_scheme_function for
authorjanneke <janneke>
Thu, 29 Apr 2004 14:49:53 +0000 (14:49 +0000)
committerjanneke <janneke>
Thu, 29 Apr 2004 14:49:53 +0000 (14:49 +0000)
volatile/configurable variables (FIXME: better name).

* lily/music-output-def.cc (c_lookup_variable): Rename (WAS:
get_scmvar).

ChangeLog
input/test/markup-score.ly
lily/gourlay-breaking.cc
lily/include/music-output-def.hh
lily/music-output-def.cc
lily/page.cc
lily/paper-book.cc
lily/spacing-spanner.cc
ly/declarations-init.ly
scm/ly-from-scheme.scm
scm/page-layout.scm

index db7b10c0c7f1fe5d7d8fa83f77a5aa0389838db1..726541eb4bccc55f3e274fc0e8c3ca8559658594 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-04-29  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * lily/page.cc (Page): Do not use ly_scheme_function for
+       volatile/configurable variables (FIXME: better name).
+
+       * lily/music-output-def.cc (c_lookup_variable): Rename (WAS:
+       get_scmvar).
+
 2004-04-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
        * scripts/convert-ly.py (FatalConversionError.subst): use
index 098201a324db77678ae811df236c372556b51f01..049862a8d647681007d9421bb45c8149ad9d15e0 100644 (file)
@@ -31,12 +31,12 @@ inBed = \paper {
     %% #(paper-set-staff-size (* 11.0 pt))
     
     raggedright = ##t
-    linewidth = 40\mm
+    linewidth = 0\mm
     indent = 0 \mm
 
-    %% #(define page-to-stencil page-stack-lines)
-    #(define (page-to-stencil page)
-      (box-stencil (page-stack-lines page) 0.1 0.5))
+    #(define page-to-stencil page-stack-lines)
+    %%#(define (page-to-stencil page)
+    %%  (box-stencil (page-stack-lines page) 0.1 0.5))
 
     \context {
        \StaffContext
@@ -44,22 +44,70 @@ inBed = \paper {
     }
 }
 
+noCruft = \paper {
+    \context {
+       \StaffContext
+       %% Hmm, no effect ?
+       %% \override StaffSymbol #'print-function = ##f
+       %% Clef = \turnOff
+       %% StaffSymbol = \turnOff
+       %% TimeSignature = \turnOff
+       \override Clef #'print-function = ##f
+       \override StaffSymbol #'line-count = #0
+       \override TimeSignature #'print-function = ##f
+    }
+}
+
+noCruftInBed = \paper {
+    \inBed
+
+    %%\noCruft
+    %%URGHSr
+    \context {
+       \StaffContext
+       %% Hmm, no effect ?
+       %% \override StaffSymbol #'print-function = ##f
+       %% Clef = \turnOff
+       %% StaffSymbol = \turnOff
+       %% TimeSignature = \turnOff
+       \override Clef #'print-function = ##f
+       \override StaffSymbol #'line-count = #0
+       \override TimeSignature #'print-function = ##f
+    }
+}
+
+tuning = \markup {
+    \score { \notes { \clef bass  <c, g, d g>1 } \paper{ \inBed }}
+}
+
+#(define-public (my-footer paper page-number)
+  (let ((props (page-properties paper)))
+    (interpret-markup paper props
+     (markup #:fill-line ( #:line ( "Tuning: " tuning) "")))))
+
+tempoChange = \markup {
+    %% wtf, no horizontal shift?
+    "" %%\kern #-10 
+    \translate #'(-15 . 0)
+    \score { \notes \times 2/3 { c'8 c' c' } \paper { \noCruftInBed }}
+    " ="
+    \score { \notes { c'8[ c'] } \paper { \noCruftInBed } }
+}
+
 \header {
-    title = "title"
-    subtitle = \markup { \fill-line <
-       "subtitle with score: "
-       \score { \relative \notes { a'^"Hi" b c } \paper { \inBed } }
-       "woo!"
-    > }
-    subsubtitle = "subsubtitle"
+    title = "Solo Cello Suites"
+    subtitle = "Suite IV"
+    subsubtitle = \markup { \fill-line < { "Originalstimmung: " \tuning } > }
+}
+
+\paper {
+    #(define make-footer my-footer)
 }
 
 \relative {
-    a' b c d \break
-    a b c d \break
-    %% interesting bug:
-    %%a b^\markup { \score{ \notes\relative{ <b'1 dis fis> } \paper{ \inBed }}} c d
-    a b c d \break
-    a b c d \break
+    \time 4/8
+    \times 2/3 { c'8 d e } \times 2/3 {c d e}
+    \time 4/8
+    g8^\tempoChange a8 g8 a \break
 }
 
index 7657efec136b4bcdcb073ae53707e9baa525f52e..789710daba5c2eb9b6df630f2393e861f25a03c4 100644 (file)
@@ -79,8 +79,8 @@ Gourlay_breaking::do_solve () const
   Break_node first_node ;
   optimal_paths.push (first_node);
 
-  bool ragged_right = to_boolean (pscore_->paper_->get_scmvar ("raggedright"));
-  bool ragged_last = to_boolean (pscore_->paper_->get_scmvar ("raggedlast"));
+  bool ragged_right = to_boolean (pscore_->paper_->c_variable ("raggedright"));
+  bool ragged_last = to_boolean (pscore_->paper_->c_variable ("raggedlast"));
 
   Real worst_force = 0.0;
   for (int break_idx = 1; break_idx< breaks.size (); break_idx++) 
index e1b13accc1c73497769d0716733747bfc23f3304..bbaf79cfc48181163d6d90b611ec248c424dea86 100644 (file)
@@ -36,7 +36,7 @@ public:
   void assign_context_def (SCM transdef);
   SCM find_context_def (SCM name) const;
   String outname_string () ;
-  SCM get_scmvar (String id) const;
+  SCM c_variable (String id) const;
   SCM lookup_variable (SCM sym) const;
   void set_variable (SCM, SCM sym);
   // fixme: dependencies
index 608b640ecbcef189dd165c8f49ceb6d1d8a6c4c8..baf6c66bd4772798a32a290816760cee79a8a59d 100644 (file)
@@ -107,7 +107,15 @@ Music_output_def::print_smob (SCM s, SCM p, scm_print_state *)
 }
 
 SCM
-Music_output_def::get_scmvar (String s) const
+Music_output_def::lookup_variable (SCM sym) const
+{
+  SCM var = ly_module_lookup (scope_, sym);
+
+  return scm_variable_ref (var);
+}
+
+SCM
+Music_output_def::c_variable (String s) const
 {
   return lookup_variable (ly_symbol2scm (s.to_str0 ()));
 }
@@ -118,14 +126,6 @@ Music_output_def::set_variable (SCM sym, SCM val)
   scm_module_define (scope_, sym, val);
 }
 
-SCM
-Music_output_def::lookup_variable (SCM sym) const
-{
-  SCM var = ly_module_lookup (scope_, sym);
-
-  return scm_variable_ref (var);
-}
-
 LY_DEFINE (ly_paper_lookup, "ly:paper-lookup",
           2, 0,0, (SCM pap, SCM sym),
           "Lookup @var{sym} in @var{pap}. "
index 85b7b7d875fbd59aef233a0b29e78d48427fa9ac..86a3af963a6dc724711c16ddfd7c66f40685bec5 100644 (file)
@@ -34,15 +34,14 @@ Page::Page (Paper_def *paper, int number)
   
   page_count_++;
 
-  SCM make_header = ly_scheme_function ("make-header");
-  SCM make_footer = ly_scheme_function ("make-footer");
-
-  header_ = scm_call_2 (make_header, paper_->self_scm (),
+  header_ = scm_call_2 (paper_->c_variable ("make-header"),
+                       paper_->self_scm (),
                        scm_int2num (number_));
   if (unsmob_stencil (header_))
     unsmob_stencil (header_)->align_to (Y_AXIS, UP);
     
-  footer_ = scm_call_2 (make_footer, paper_->self_scm (),
+  footer_ = scm_call_2 (paper_->c_variable ("make-footer"),
+                       paper_->self_scm (),
                        scm_int2num (number_));
   if (unsmob_stencil (footer_))
     unsmob_stencil (footer_)->align_to (Y_AXIS, UP);
index bb802e623f9b471c560e7cd2e540e4d337a0f21e..d04112b9ec9b129ecaf4bc9946e3d5d0bec3c482 100644 (file)
@@ -19,7 +19,7 @@
 
 // JUNKME
 SCM
-stencil2line (Stencilstil, bool is_title = false)
+stencil2line (Stencil *stil, bool is_title = false)
 {
   static SCM z;
   if (!z)
@@ -217,14 +217,14 @@ Paper_book::init ()
   Paper_def *paper = papers_[0];
   SCM scopes = this->scopes (0);
 
-  SCM make_tagline = ly_scheme_function ("make-tagline");
+  SCM make_tagline = paper->c_variable ("make-tagline");
   tagline_ = scm_call_2 (make_tagline, paper->self_scm (), scopes);
   Real tag_height = 0;
   if (Stencil *s = unsmob_stencil (tagline_))
     tag_height = s->extent (Y_AXIS).length ();
   height_ += tag_height;
 
-  SCM make_copyright = ly_scheme_function ("make-copyright");
+  SCM make_copyright = paper->c_variable ("make-copyright");
   copyright_ = scm_call_2 (make_copyright, paper->self_scm (), scopes);
   Real copy_height = 0;
   if (Stencil *s = unsmob_stencil (copyright_))
@@ -269,7 +269,7 @@ Paper_book::pages ()
     tag_height = s->extent (Y_AXIS).length ();
 
   SCM all = lines ();
-  SCM proc = paper->get_scmvar ("page-breaking");
+  SCM proc = paper->c_variable ("page-breaking");
   SCM breaks = scm_apply_0 (proc, scm_list_n (all, scm_make_real (height_),
                                              scm_make_real (text_height),
                                              scm_make_real (-copy_height),
@@ -286,7 +286,8 @@ Paper_book::pages ()
   for (int i = 0; i < page_count; i++)
     {
       if (i)
-       page = new Page (paper, i+1);
+       page = new Page (paper, i + 1);
+
       int next = i + 1 < page_count
        ? ly_scm2int (scm_vector_ref (breaks, scm_int2num (i))) : 0;
       while ((!next && all != SCM_EOL) || line <= next)
index e83dedf53f59b169a0164431ec6a3d6f63214f34..deedd461a675e4a5504e875445cffd4b364a9ae7 100644 (file)
@@ -625,7 +625,7 @@ Spacing_spanner::musical_column_spacing (Grob *me, Item * lc, Item *rc, Real inc
   */
   compound_fixed_note_space = compound_fixed_note_space <? compound_note_space;
 
-  bool packed = to_boolean (me->get_paper ()->get_scmvar ("packed"));
+  bool packed = to_boolean (me->get_paper ()->c_variable ("packed"));
   Real strength, distance;
 
   /*
index 48e17441cedec4216022272ef401b56abceeab46..917e2bac900cf08dabfd93d9aeb0c82f24d8fa89 100644 (file)
@@ -76,6 +76,12 @@ melismaEnd = #(make-span-event 'ManualMelismaEvent STOP)
 
     #(define page-to-stencil ly:page-header-lines-footer-stencil)
 
+    #(define make-header plain-header)
+    #(define make-footer plain-footer)
+    %%#(define make-footer empty-markup)
+    #(define make-tagline TAGLINE-or-tagline-from-header)
+    #(define make-copyright copyright-from-header)
+
     \include "engraver-init.ly"
 }
 
index 0436f423e8fece61e9ed175a6a78cbfa92607421..6a94976c92601ed705fd637b983fd9ae8ae31be2 100644 (file)
@@ -2,9 +2,8 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c)  2000--2004  Han-Wen Nienhuys <hanwen@cs.uu.nl>
-;;;;                  Jan Nieuwenhuizen <janneke@gnu.org>
-
+;;;; (c) 2004  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+;;;;           Jan Nieuwenhuizen <janneke@gnu.org>
 
 (define gen-lily-sym
   ;; Generate a lilyvartmpXX symbol, that may be (hopefully) unique.
index d706f418dc6027f436d82dd580c7a8cf57ac0cd6..1a4c80199ec63b489fa31de52dd9d95fa26a629e 100644 (file)
@@ -10,7 +10,7 @@
        (variable-ref v)
        (if (module? (cdr modules)) (ly:modules-lookup (cdr modules) sym)))))
 
-(define (page-properties paper)
+(define-public (page-properties paper)
   (list (append `((linewidth . ,(ly:paper-get-number
                                 paper 'linewidth)))
                (ly:paper-lookup paper 'text-font-defaults))))
        ("" (get 'opus))
        #:fill-line (#:large #:bigger #:caps (get 'piece) "")))))))
 
-(define-public (make-header paper page-number)
+(define-public (plain-header paper page-number)
   (let ((props (page-properties paper) ))
     (interpret-markup paper props
                      (markup #:fill-line
                              ("" #:bold (number->string page-number))))))
 
-(define-public (make-footer paper page-number)
+(define-public (plain-footer paper page-number)
   (let ((props (page-properties paper)))
 
     (interpret-markup paper props
@@ -96,7 +96,7 @@
 (define TAGLINE
   (string-append "Engraved by LilyPond (version " (lilypond-version) ")"))
 
-(define-public (make-tagline paper scopes)
+(define-public (TAGLINE-or-tagline-from-header paper scopes)
   (let* ((props (page-properties paper))
         (tagline-var (ly:modules-lookup scopes 'tagline))
         (tagline (if (markup? tagline-var) tagline-var TAGLINE)))
                                 (markup #:fill-line (tagline "")))))
          ((markup? tagline) (interpret-markup paper props tagline)))))
 
-(define-public (make-copyright paper scopes)
+(define-public (copyright-from-header paper scopes)
   (let ((props (page-properties paper))
        (copyright (ly:modules-lookup scopes 'copyright)))