-#!/bin/sh
-def=`echo $1 | sed s/\\\./_/ | tr a-z A-Z`
+#!/usr/bin/perl -w
-cat << HERE
-/*
- $1 -- part of LilyPond
+die "arg needed\n" if (!($#ARGV+1));
+my $fn = $ARGV[0];
+my $hh_q = ($fn =~ /hh$/ );
+my $MAILADRESS=$ENV{MAILADRESS};
+my @pw=(getpwuid($<));
+my $username=$pw[6];
+my $what="implement ";
+$what = "declare " if ($hh_q);
+my $headstr ="/*
+ $fn -- $what
- (c) 1997 $USERNAME <$MAILADRESS>
-*/
+ source file of the LilyPond music typesetter
-HERE
+ (c) 1997 $username <$MAILADRESS>
+*/\n";
+
+my $startdef= $fn;
+$startdef =~ s/\./_/;
+$startdef =~ tr/a-z/A-Z/;
+my $terminatestr="\n";
+if ($hh_q) {
+ $headstr .= "\n\n#ifndef $startdef\n#define $startdef\n";
+ $terminatestr .= "#endif // $startdef\n"
+}
+
+print $headstr, $terminatestr;
-if [ $1 != `basename .hh` ]
-then
-cat <<EOF
-#ifndef $def
-#define $def
-#endif // $def
-EOF
-fi
+/*
+ register.cc -- implement Staff_elem_info, Request_register
+
+ Sourcefile of LilyPond musictypesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
#include "voice.hh"
#include "request.hh"
#include "register.hh"
#include "notehead.hh"
#include "complexwalker.hh"
#include "localkeyitem.hh"
+#include "complexstaff.hh"
Staff_elem_info::Staff_elem_info(Staff_elem*s_l, Request*r_l,
Request_register *reg_l)
group_regs_l_ = 0;
origin_reg_l_ = reg_l;
}
+
Staff_elem_info::Staff_elem_info()
{
elem_p_ = 0;
origin_reg_l_ = 0;
req_l_ = 0;
}
-/****************/
+
+/* *************** */
Request_register::Request_register()
{
do_post_move_process();
}
-
-/****************/
-
-Local_key_register::Local_key_register(Complex_walker*w)
- : Request_register(w)
+Request_register::Request_register(Request_register const&)
{
- key_item_p_ = 0;
-}
-bool
-Local_key_register::try_request(Request*)
-
-{
- return false;
+ assert(false);
}
void
-Local_key_register::process_request()
+Request_register::announce_element(Staff_elem_info i)
{
+ walk_l_->announce_element(i);
}
+
void
-Local_key_register::do_pre_move_process()
+Request_register::typeset_element(Staff_elem*p)
{
- if (key_item_p_) {
- walk_l_->typeset_element(key_item_p_);
- key_item_p_ = 0;
- }
+ walk_l_->typeset_element(p);
}
-void
-Local_key_register::acknowledge_element(Staff_elem_info info)
-{
- if (info.req_l_->melodic()) {
- Melodic_req * melodic_l_ = info.req_l_->melodic();
-
- if( melodic_l_->forceacc ||
- walk_l_->local_key_.oct(melodic_l_->octave).acc(melodic_l_->notename)
- != melodic_l_->accidental) {
- Item * support_l_ = info.elem_p_->item();
-
- if (!key_item_p_) {
- key_item_p_ = new Local_key_item(walk_l_->clef_.c0_pos);
- key_item_p_->c0_position = walk_l_->clef_.c0_pos;
- }
-
- key_item_p_->add(melodic_l_);
- key_item_p_->add(support_l_);
- walk_l_->local_key_.oct(melodic_l_->octave)
- .set(melodic_l_->notename, melodic_l_->accidental);
- }
- }
+Paperdef*
+Request_register::paper()const
+{
+ return walk_l_->staff()->paper();
}