+/*
+ bar.cc -- implement Bar
+
+ source file of the LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
#include "bar.hh"
#include "string.hh"
#include "molecule.hh"
#include "lookup.hh"
#include "debug.hh"
-
-
Bar::Bar( String t)
{
type = t;
virtual Request_register * get_register_p(Request_register*reg_l);
virtual void set_feature(Feature i);
virtual bool acceptable_request_b(Request*)const;
+ virtual void sync_features() ;
virtual void pre_move_processing();
virtual void post_move_processing();
virtual void acknowledge_element(Staff_elem_info info);
Set Feature of the register(s). Default: ignore Feature.
*/
virtual void set_feature(Feature){}
+ /**
+ ask daddy for a feature
+ */
+ virtual Scalar get_feature(String type_str);
/**
Does this equal or contain a certain register?
*/
+
+ virtual void sync_features() {}
+
virtual bool contains_b(Request_register*reg_l)const;
/**
Get information on the staff. Default: ask daddy.
*/
virtual Staff_info get_staff_info();
-
-
+
+
virtual void do_print()const;
public:
/** Every Request_register (except for the 'top' which is directly
Tie * tie_p_;
Moment end_mom_;
Tie_req * req_l_;
+ int dir_i_;
Tie_req *end_req_l_;
+
protected:
virtual ~Tie_register();
virtual void acknowledge_element(Staff_elem_info);
virtual bool try_request(Request*);
virtual bool acceptable_request_b(Request*);
+ virtual void sync_features();
virtual void process_requests();
virtual void post_move_processing();
virtual void pre_move_processing();
+ virtual void set_feature(Feature);
public:
Tie_register();
NAME_MEMBERS(Tie_register);
linewidth = 15 *CM_TO_PT; // in cm for now
whole_width = 8 * note_width();
geometric_ = sqrt(2);
- outfile = "lelie.out";
+ outfile = "lelie.tex";
}
Paper_def::~Paper_def()
}
}
+void
+Register_group_register::sync_features()
+{
+ iter_top(reg_list_, i);
+ while (i.ok()) {
+
+ Request_register *reg_l = i++;
+ reg_l->sync_features();
+ }
+}
+
void
Register_group_register::pre_move_processing()
{
}
Voice_group_registers * new_group_l = get_group(new_str);
new_group_l->add(regs_p);
-
+ regs_p->sync_features();
mtor << "processed change_group " << get_staff_info().when()<<"\n";
print();
}
Begin3
Title: LilyPond
-Version: 0.0.59
+Version: 0.0.60
Entered-date: 05/05/97
Description: LilyPond is a program which converts a music-script (mudela) into
TeX output, or MIDI to produce multi-staff scores. Features include multiple
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: pcnov095.win.tue.nl /pub/lilypond/
- 300k lilypond-0.0.59.tar.gz
+ 300k lilypond-0.0.60.tar.gz
Alternate-site:
Original-site:
Platform: unix/win32, GNU C++
Name: lilypond
-Version: 0.0.59
+Version: 0.0.60
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.0.59.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.0.60.tar.gz
Summary: A preprocessor to make TeX typeset music.
URL: http://www.stack.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@stack.nl>