# class name silence?
Dstream 1
-File_path 1
-My_lily_lexer 1
-PCol 0
-Score_column 0
-Script_column 0
-# E l b e ment? search/replace typo.
-# Yeah. kind of. Looks cute though
-Elbement_group 1
-Ineq_constrained_qp 1
-Spacing_problem 1
-Colinfo 1
-Mixed_qp 1
-PScore 1
-Idealspacing 0
-
# yydebug
InitParser 1
Parser 1
Lexer 1
Matrix 1
-parse_duration 1
-parse_pitchmod 1
-Col_configuration 1
-Request 1
-Note_req 1
-Rhythmic_req 1
-Rest_req 1
-delete_identifiers 1
-Command 1
-Staff_commands 1
-Stem 1
-Staff 1
-Score 1
-Voice 1
-Voice_element 1
-Spanner 1
+
+
Atom 1
+Bar 1
+Beam 1
Change_iterator 1
+Chord 0
Chord_iterator 1
-Music_iterator 1
-Request_iterator 1
-Score_performer 0
-Voice_element_iterator 1
-Voice_iterator 1
-Chord 1
-Collision 1
-Rest_collision 1
-Stem 1
-Key_item 1
Clef_item 1
-Bar 1
-Slur 1
-Music 1
-Paper_def 1
-Lookup 1
-Input_translator 0
-Score_elem 1
-Item 1
-Note_head 1
+Col_configuration 1
+Colinfo 1
+Colinfo 1
+Collision 1
+Command 1
+
+# E l b e ment? search/replace typo.
+# Yeah. kind of. Looks cute though
+Elbement_group 1
Engraver 1
-Rest_collision_engraver 1
-Score_engraver 0
Engraver_group_engraver 1
-Time_description 1
-Melodic_req 1
+File_path 1
+Group_change_req 1
+Head_column 1
+Idealspacing 0
+Ineq_constrained_qp 1
+Input_translator 0
+Item 1
+Key_item 1
+Lookup 1
+Melodic_req 0
Midi_def 1
+Mixed_qp 1
+Music 0
+Music_iterator 1
+My_lily_lexer 1
+Note_head 1
Note_performer 0
+Note_req 0
+PCol 0
+PScore 1
+Paper_def 1
+Paperdef 1
Performer 0
-Stem_req 1
-Group_change_req 1
-Script_req 1
-Colinfo 1
-Word_wrap 1
-Text_req 1
+Request 0
+Request_iterator 1
+Rest_collision 1
+Rest_collision_engraver 1
+Rest_req 1
+Rhythmic_req 0
+Score 1
+Score_column 0
+Score_elem 1
+Score_engraver 0
+Score_performer 0
+Script_column 0
Script_def 0
-Text_def 0
-Paperdef 1
+Script_req 0
+Slur 1
+Spacing_problem 1
+Spanner 1
+Staff 1
+Staff_commands 1
+Stem 1
+Stem 1
+Stem_req 1
Symtable 1
Symtables 1
-Beam 1
-Head_column 1
+Text_def 0
+Text_req 0
+Time_description 1
+Voice 0
+Voice_element 0
+Voice_element_iterator 1
+Voice_iterator 1
+Word_wrap 1
+delete_identifiers 1
+parse_duration 1
+parse_pitchmod 1
MAJOR_VERSION = 1
MINOR_VERSION = 1
-PATCH_LEVEL = 22
+PATCH_LEVEL = 23
# use to send patches, always empty for released version:
MY_PATCH_LEVEL = # include separator: "-1" or ".a"
#
}
-IMPLEMENT_STATIC_NAME(Full_storage);
-IMPLEMENT_STATIC_NAME(Matrix_storage);
IMPLEMENT_IS_TYPE_B(Matrix_storage);
IMPLEMENT_IS_TYPE_B1(Full_storage,Matrix_storage);
bar_p_ =0;
}
-IMPLEMENT_STATIC_NAME(Bar_engraver);
+
IMPLEMENT_IS_TYPE_B1(Bar_engraver,Engraver);
ADD_THIS_ENGRAVER(Bar_engraver);
}
-IMPLEMENT_STATIC_NAME(Bar);
+
IMPLEMENT_IS_TYPE_B1(Bar,Item);
void
return mol_p;
}
-IMPLEMENT_STATIC_NAME(Beam);
+
IMPLEMENT_IS_TYPE_B1(Beam, Spanner);
void
return output;
}
-IMPLEMENT_STATIC_NAME(Bow);
+
IMPLEMENT_IS_TYPE_B1(Bow,Directional_spanner);
align_i_ = break_status_i();
Horizontal_align_item::do_pre_processing();
}
-IMPLEMENT_STATIC_NAME(Break_align_item);
+
IMPLEMENT_IS_TYPE_B1(Break_align_item, Horizontal_align_item);
clef_p_ =0;
}
-IMPLEMENT_STATIC_NAME(Clef_engraver);
+
IMPLEMENT_IS_TYPE_B1(Clef_engraver,Engraver);
ADD_THIS_ENGRAVER(Clef_engraver);
return output;
}
-IMPLEMENT_STATIC_NAME(Clef_item);
+
IMPLEMENT_IS_TYPE_B1(Clef_item,Item);
col_p_ =0;
}
-IMPLEMENT_STATIC_NAME(Collision_engraver);
+
IMPLEMENT_IS_TYPE_B1(Collision_engraver,Engraver);
ADD_THIS_ENGRAVER(Collision_engraver);
}
}
-IMPLEMENT_STATIC_NAME(Collision);
+
IMPLEMENT_IS_TYPE_B1(Collision, Item);
void
void
Command_script_req::do_print() const
{}
-IMPLEMENT_STATIC_NAME(Command_script_req);
+
IMPLEMENT_IS_TYPE_B1(Command_script_req,Command_req);
-IMPLEMENT_STATIC_NAME(Cadenza_req);
+
IMPLEMENT_IS_TYPE_B1(Cadenza_req, Timing_req);
void
return type_str_ == c1.type_str_;
}
-IMPLEMENT_STATIC_NAME(Bar_req);
+
IMPLEMENT_IS_TYPE_B1(Bar_req,Command_req);
void
}
/* *************** */
-IMPLEMENT_STATIC_NAME(Timing_req);
+
IMPLEMENT_IS_TYPE_B1(Timing_req,Command_req);
void
Timing_req::do_print()const{}
-IMPLEMENT_STATIC_NAME(Command_req);
+
IMPLEMENT_IS_TYPE_B1(Command_req,Request);
void
Command_req::do_print()const{}
IMPLEMENT_IS_TYPE_B1(Disallow_break_req,Command_req);
-IMPLEMENT_STATIC_NAME(Disallow_break_req);
+
void
Disallow_break_req::do_print()const
{
}
/* *************** */
-IMPLEMENT_STATIC_NAME(Barcheck_req);
+
IMPLEMENT_IS_TYPE_B1(Barcheck_req,Timing_req);
void
Barcheck_req::do_print() const{}
/* *************** */
-IMPLEMENT_STATIC_NAME(Clef_change_req);
+
IMPLEMENT_IS_TYPE_B1(Clef_change_req,Command_req);
void
clef_str_ = s;
}
/* *************** */
-IMPLEMENT_STATIC_NAME(Group_feature_req);
+
IMPLEMENT_IS_TYPE_B1(Group_feature_req,Command_req);
void
/* *************** */
-IMPLEMENT_STATIC_NAME(Partial_measure_req);
+
IMPLEMENT_IS_TYPE_B1(Partial_measure_req,Timing_req);
void
mtor << duration_;
}
-IMPLEMENT_STATIC_NAME(Meter_change_req);
+
IMPLEMENT_IS_TYPE_B1(Meter_change_req,Timing_req);
void
/* *************** */
-IMPLEMENT_STATIC_NAME(Measure_grouping_req);
+
IMPLEMENT_IS_TYPE_B1(Measure_grouping_req,Timing_req);
void
}
}
-IMPLEMENT_STATIC_NAME(Key_change_req);
+
IMPLEMENT_IS_TYPE_B1(Key_change_req,Command_req);
void
Key_change_req::squash_octaves()
return m_p;
}
-IMPLEMENT_STATIC_NAME(Crescendo);
+
IMPLEMENT_IS_TYPE_B1(Crescendo,Spanner);
dir_i_ = i.value_;
}
-IMPLEMENT_STATIC_NAME(Dynamic_engraver);
+
IMPLEMENT_IS_TYPE_B1(Dynamic_engraver,Engraver);
ADD_THIS_ENGRAVER(Dynamic_engraver);
{
Horizontal_vertical_group::do_print();
}
-IMPLEMENT_STATIC_NAME(Horizontal_vertical_group_item);
+
IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_item,Horizontal_vertical_group,Item);
IMPLEMENT_IS_TYPE_B2(Horizontal_group_item, Horizontal_group, Item);
-IMPLEMENT_STATIC_NAME(Horizontal_group_item);
+
return r;
}
-IMPLEMENT_STATIC_NAME(Horizontal_group);
+
IMPLEMENT_IS_TYPE_B1(Horizontal_group, Elbement_group);
IMPLEMENT_IS_TYPE_B1(Vertical_group, Elbement_group);
-IMPLEMENT_STATIC_NAME(Vertical_group);
+
void
Elbement_group::add_element(Score_elem*i_l)
elem_l_arr_[i]->translate_y(y);
}
-IMPLEMENT_STATIC_NAME(Elbement_group);
+
IMPLEMENT_IS_TYPE_B1(Elbement_group, Score_elem);
void
}
IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group, Horizontal_group, Vertical_group);
-IMPLEMENT_STATIC_NAME(Horizontal_vertical_group);
+
Horizontal_vertical_group::Horizontal_vertical_group()
{
#endif
}
-IMPLEMENT_STATIC_NAME(Engraver);
+
IMPLEMENT_IS_TYPE_B(Engraver);
void
Symbol s;
return Atom(s);
}
-IMPLEMENT_STATIC_NAME(General_script_def);
+
IMPLEMENT_IS_TYPE_B(General_script_def);
{
}
-IMPLEMENT_STATIC_NAME(Global_translator);
+
IMPLEMENT_IS_TYPE_B1(Global_translator, Translator);
}
-IMPLEMENT_STATIC_NAME(Head_column);
+
IMPLEMENT_IS_TYPE_B1(Head_column,Script_column);
void
note_req_l_ = 0;
}
-IMPLEMENT_STATIC_NAME(Note_head_engraver);
+
IMPLEMENT_IS_TYPE_B1(Note_head_engraver,Engraver);
ADD_THIS_ENGRAVER(Note_head_engraver);
#include "horizontal-align-item.hh"
-IMPLEMENT_STATIC_NAME(Horizontal_align_item);
+
IMPLEMENT_IS_TYPE_B1(Horizontal_align_item,Item);
#include "lily-proto.hh"
struct Midi_item {
- /* *************** */
static String i2varint_str( int i );
virtual void output_midi( Midi_stream& midi_stream_r ) const;
virtual String str() const = 0;
+ NAME_MEMBERS();
};
struct Midi_key : public Midi_item {
- Midi_key( int accidentals_i, int minor_i );
-
- virtual String str() const;
+ Midi_key( int accidentals_i, int minor_i );
- int accidentals_i_;
- int minor_i_;
+ virtual String str() const;
+ NAME_MEMBERS();
+ /* *************** */
+ int accidentals_i_;
+ int minor_i_;
};
struct Midi_note : public Midi_item {
- /* *************** */
- int const c0_pitch_i_c_ = 60;
- Byte dynamic_byte_;
-
/**
Generate a note-event on a channel pitch.
@param #melreq_l# is the pitch.
*/
Midi_note( Melodic_req* melreq_l, int channel_i, bool on_b );
-
+ NAME_MEMBERS();
virtual String str() const;
+ /* *************** */
+ int const c0_pitch_i_c_ = 60;
+ Byte dynamic_byte_;
+
int channel_i_;
int on_b_;
int pitch_i_;
};
struct Midi_duration : public Midi_item {
- /* *************** */
Midi_duration( Real seconds_f );
virtual String str() const;
-
+ NAME_MEMBERS();
+ /* *************** */
Real seconds_f_;
};
struct Midi_chunk : Midi_item {
- /* *************** */
Midi_chunk();
void add( String str );
void set( String header_str, String data_str, String footer_str );
virtual String str() const;
-
+ NAME_MEMBERS();
private:
String data_str_;
String footer_str_;
struct Midi_header : Midi_chunk {
/* *************** */
Midi_header( int format_i, int tracks_i, int clocks_per_4_i );
+ NAME_MEMBERS();
};
struct Midi_text : Midi_item {
+
+ enum Type {
+ TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
+ MARKER, CUE_POINT
+ };
+ Midi_text( Midi_text::Type type, String text_str );
+ NAME_MEMBERS();
+ virtual String str() const;
/* *************** */
- enum Type {
- TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
- MARKER, CUE_POINT
- };
- Midi_text( Midi_text::Type type, String text_str );
-
- virtual String str() const;
-
- Type type_;
- String text_str_;
+ Type type_;
+ String text_str_;
+
};
struct Midi_tempo : Midi_item {
- /* *************** */
Midi_tempo( int per_minute_4_i );
+ NAME_MEMBERS();
virtual String str() const;
+ /* *************** */
int per_minute_4_i_;
};
struct Midi_time : Midi_item {
- /* *************** */
+
Midi_time( int num_i, int den_i, int clocks_per_1_i );
+ NAME_MEMBERS();
virtual String str() const;
+ /* *************** */
int num_i_;
int den_i_;
int clocks_per_1_i_;
};
struct Midi_track : Midi_chunk {
- /* *************** */
int number_i_;
- Midi_track( int number_i );
+ /* *************** */
+ Midi_track( );
+ NAME_MEMBERS();
void add( int delta_time_i, String event );
// void add( Moment delta_time_moment, Midi_item& mitem_r );
class Request : public Music {
public:
- Voice * voice_l();
/* *************** */
NAME_MEMBERS();
VIRTUAL_COPY_CONS(Request,Music);
- void print()const ;
virtual MInterval time_int() const;
virtual void transpose(Melodic_req const &){}
virtual Moment duration() const { return 0; }
struct Score_elem_info {
Score_elem * elem_l_;
Request*req_l_;
- Voice const * voice_l_;
Array<Engraver*> origin_grav_l_arr_;
/* *** */
= broken_to_a_[1]=0;
}
-IMPLEMENT_STATIC_NAME(Item);
+
IMPLEMENT_IS_TYPE_B1(Item, Score_elem);
void
default_key_b_ = false;
}
-IMPLEMENT_STATIC_NAME(Key_engraver);
+
IMPLEMENT_IS_TYPE_B1(Key_engraver,Engraver);
ADD_THIS_ENGRAVER(Key_engraver);
}
return output;
}
-IMPLEMENT_STATIC_NAME(Key_item);
+
IMPLEMENT_IS_TYPE_B1(Key_item,Item);
void
}
}
-IMPLEMENT_STATIC_NAME(Local_key_engraver);
+
IMPLEMENT_IS_TYPE_B1(Local_key_engraver,Engraver);
ADD_THIS_ENGRAVER(Local_key_engraver);
return a.accidental_i_ - b.accidental_i_;
};
-IMPLEMENT_STATIC_NAME(Local_key_item);
+
IMPLEMENT_IS_TYPE_B1(Local_key_item,Item);
void
}
}
-IMPLEMENT_STATIC_NAME(Lyric_engraver);
+
IMPLEMENT_IS_TYPE_B1(Lyric_engraver,Engraver);
ADD_THIS_ENGRAVER(Lyric_engraver);
time_.add( get_staff_info().when() - time_.when_ );
}
-IMPLEMENT_STATIC_NAME(Meter_engraver);
+
ADD_THIS_ENGRAVER(Meter_engraver);
IMPLEMENT_IS_TYPE_B1(Meter_engraver,Engraver);
return new Molecule(Atom(s));
}
-IMPLEMENT_STATIC_NAME(Meter);
+
IMPLEMENT_IS_TYPE_B1(Meter,Item);
-//
-// midiitem.cc
-//
-// source file of the GNU LilyPond music typesetter
-//
-// (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+/*
+ midi-item.cc -- implement various midi items.
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
#include <limits.h>
#include "proto.hh"
#include "midi-item.hh"
#include "midi-stream.hh"
+
+IMPLEMENT_IS_TYPE_B(Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_key,Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_note, Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_duration, Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_chunk, Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_header, Midi_chunk);
+IMPLEMENT_IS_TYPE_B1(Midi_text, Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_tempo, Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_time, Midi_item);
+IMPLEMENT_IS_TYPE_B1(Midi_track, Midi_chunk);
+
Midi_chunk::Midi_chunk()
{
}
return str;
}
-Midi_track::Midi_track( int number_i )
+Midi_track::Midi_track( )
{
// 4D 54 72 6B MTrk
// 00 00 00 3B chunk length (59)
// mi = 0: major key
// mi = 1: minor key
- number_i_ = number_i;
+ number_i_ = 0;
char const* data_ch_C = ""
// "00" "ff58" "0404" "0218" "08"
{
}
-IMPLEMENT_STATIC_NAME(Music);
+
IMPLEMENT_IS_TYPE_B(Music);
}
IMPLEMENT_IS_TYPE_B1(Change_reg,Music)
-IMPLEMENT_STATIC_NAME(Change_reg);
+
#include "text-def.hh"
#include "music-list.hh"
-IMPLEMENT_STATIC_NAME(Stem_req);
+
IMPLEMENT_IS_TYPE_B1(Stem_req,Rhythmic_req);
void
}
/* ************** */
-IMPLEMENT_STATIC_NAME(Musical_req);
+
IMPLEMENT_IS_TYPE_B1(Musical_req,Request);
void
Musical_req::do_print()const{}
-IMPLEMENT_STATIC_NAME(Span_req);
+
IMPLEMENT_IS_TYPE_B1(Span_req,Musical_req);
void
distance = 0;
strength = 0;
}
-IMPLEMENT_STATIC_NAME(Spacing_req);
+
IMPLEMENT_IS_TYPE_B1(Spacing_req,Request);
void
#endif
}
-IMPLEMENT_STATIC_NAME(Blank_req);
+
IMPLEMENT_IS_TYPE_B2(Blank_req,Spacing_req,Rhythmic_req);
void
}
}
-IMPLEMENT_STATIC_NAME(Melodic_req);
+
IMPLEMENT_IS_TYPE_B1(Melodic_req,Musical_req);
int
{
}
-IMPLEMENT_STATIC_NAME(Rhythmic_req);
+
IMPLEMENT_IS_TYPE_B1(Rhythmic_req,Musical_req);
void
dir_i_ = -1; // lyrics below (invisible) staff
}
-IMPLEMENT_STATIC_NAME(Lyric_req);
+
IMPLEMENT_IS_TYPE_B2(Lyric_req,Musical_req,Rhythmic_req);
void
{
forceacc_b_ = false;
}
-IMPLEMENT_STATIC_NAME(Note_req);
+
IMPLEMENT_IS_TYPE_B2(Note_req,Melodic_req,Rhythmic_req);
void
#endif
}
/* *************** */
-IMPLEMENT_STATIC_NAME(Rest_req);
+
IMPLEMENT_IS_TYPE_B1(Rest_req,Rhythmic_req);
void
{
nplet = 0;
}
-IMPLEMENT_STATIC_NAME(Beam_req);
+
IMPLEMENT_IS_TYPE_B1(Beam_req,Span_req);
void
Beam_req::do_print()const{}
/* *************** */
-IMPLEMENT_STATIC_NAME(Slur_req);
+
IMPLEMENT_IS_TYPE_B1(Slur_req,Span_req);
void
Slur_req::do_print()const{}
scriptdef_p_ = 0;
}
-IMPLEMENT_STATIC_NAME(Script_req);
+
IMPLEMENT_IS_TYPE_B1(Script_req,Request);
void
Script_req::do_print();
}
-IMPLEMENT_STATIC_NAME(Musical_script_req);
+
IMPLEMENT_IS_TYPE_B2(Musical_script_req,Musical_req, Script_req);
tdef_p_ = tdef_p;
}
-IMPLEMENT_STATIC_NAME(Text_req);
+
IMPLEMENT_IS_TYPE_B1(Text_req,Musical_req);
void
/* *************** */
-IMPLEMENT_STATIC_NAME(Skip_req);
+
IMPLEMENT_IS_TYPE_B1(Skip_req,Musical_req);
void
#endif
}
-Voice *
-Request::voice_l()
-{
- if (!parent_music_l_)
- return 0;
- else
- return (Voice*)parent_music_l_;
-}
-/* *************** */
-IMPLEMENT_STATIC_NAME(Dynamic_req);
+
IMPLEMENT_IS_TYPE_B1(Dynamic_req,Musical_req);
void
Musical_req::do_print();
}
-IMPLEMENT_STATIC_NAME(Absolute_dynamic_req);
+
IMPLEMENT_IS_TYPE_B1(Absolute_dynamic_req,Musical_req);
void
dynamic_dir_i_ = 0;
}
-IMPLEMENT_STATIC_NAME(Span_dynamic_req);
+
IMPLEMENT_IS_TYPE_B1(Span_dynamic_req,Musical_req);
void
#endif
}
-IMPLEMENT_STATIC_NAME(Tie_req);
+
IMPLEMENT_IS_TYPE_B1(Tie_req,Musical_req);
do_post_move_processing();
}
-IMPLEMENT_STATIC_NAME(Note_column_engraver);
+
IMPLEMENT_IS_TYPE_B1(Note_column_engraver,Engraver);
ADD_THIS_ENGRAVER(Note_column_engraver);
#include "note-head.hh"
#include "stem.hh"
-IMPLEMENT_STATIC_NAME(Note_column);
+
IMPLEMENT_IS_TYPE_B1(Note_column,Head_column);
void
dots_i_ = r_req_l->duration_.dots_i_;
}
-IMPLEMENT_STATIC_NAME(Note_head);
+
IMPLEMENT_IS_TYPE_B1(Note_head,Item);
void
+/*
+ request.cc -- implement Request
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
#include "request.hh"
#include "debug.hh"
-IMPLEMENT_STATIC_NAME(Request);
+
IMPLEMENT_IS_TYPE_B1(Request,Music);
void
return MInterval(0, duration());
}
-void
-Request::print() const
-{
-#ifndef NPRINT
- mtor << name() << " {";
- do_print();
- mtor << "}\n";
-#endif
-}
-
#include "rest-column.hh"
#include "note-column.hh"
-IMPLEMENT_STATIC_NAME(Rest_collision_engraver);
+
IMPLEMENT_IS_TYPE_B1(Rest_collision_engraver, Engraver);
ADD_THIS_ENGRAVER(Rest_collision_engraver);
#include "collision.hh"
#include "paper-def.hh"
-IMPLEMENT_STATIC_NAME(Rest_collision);
+
IMPLEMENT_IS_TYPE_B1(Rest_collision,Item);
void
#include "rest-column.hh"
#include "stem.hh"
-IMPLEMENT_STATIC_NAME(Rest_column);
+
IMPLEMENT_IS_TYPE_B1(Rest_column,Head_column);
Score_elem_info::Score_elem_info(Score_elem*s_l, Request*r_l)
{
elem_l_ = s_l;
- voice_l_ = (r_l)?r_l->voice_l():0;
req_l_ = r_l;
}
Score_elem_info::Score_elem_info()
{
elem_l_ = 0;
- voice_l_ = 0;
-
req_l_ = 0;
}
}
-IMPLEMENT_STATIC_NAME(Score_elem);
+
IMPLEMENT_IS_TYPE_B(Score_elem);
Molecule*
halign_p_->add(it, align_grav_l->priority_i_);
}
}
-IMPLEMENT_STATIC_NAME(Score_horizontal_align_engraver);
+
IMPLEMENT_IS_TYPE_B1(Score_horizontal_align_engraver,Engraver);
ADD_THIS_ENGRAVER(Score_horizontal_align_engraver);
-IMPLEMENT_STATIC_NAME(Line_of_score);
+
IMPLEMENT_IS_TYPE_B1(Line_of_score,Spanner);
void
#include "note-head.hh"
#include "stem.hh"
-IMPLEMENT_STATIC_NAME(Script_column);
+
IMPLEMENT_IS_TYPE_B1(Script_column,Horizontal_vertical_group_item);
return p->lookup_l()->script(preidx_str + symidx_str_);
}
-IMPLEMENT_STATIC_NAME(Script_def);
+
IMPLEMENT_IS_TYPE_B1(Script_def,General_script_def);
int
script_req_l_arr_.set_size(0);
}
-IMPLEMENT_STATIC_NAME(Script_engraver);
+
IMPLEMENT_IS_TYPE_B1(Script_engraver,Engraver);
ADD_THIS_ENGRAVER(Script_engraver);
return out;
}
-IMPLEMENT_STATIC_NAME(Script);
+
IMPLEMENT_IS_TYPE_B2(Script,Item,Staff_side);
int
requests_arr_[i]->warning("unterminated slur");
}
}
-IMPLEMENT_STATIC_NAME(Slur_engraver);
+
IMPLEMENT_IS_TYPE_B1(Slur_engraver,Engraver);
ADD_THIS_ENGRAVER(Slur_engraver);
left_pos_i_ += dir_i_;
right_pos_i_ += dir_i_;
}
-IMPLEMENT_STATIC_NAME(Slur);
+
IMPLEMENT_IS_TYPE_B1(Slur,Spanner);
}
-IMPLEMENT_STATIC_NAME(Span_bar_engraver);
+
IMPLEMENT_IS_TYPE_B1(Span_bar_engraver,Engraver);
ADD_THIS_ENGRAVER(Span_bar_engraver);
transparent_b_ = true;
empty_b_ =true;
} else {
- if (type_str_ == "")
+ if (type_str_ == "")
type_str_ = spanning_l_arr_[0]->type_str_;
if (type_str_ =="") {
transparent_b_=true;
empty_b_ = true;
+ } else if ( type_str_ == "|:") {
+ type_str_ = ".|";
+ } else if ( type_str_ == ":|"){
+ type_str_ = "|.";
}
}
}
return output;
}
-IMPLEMENT_STATIC_NAME(Span_bar);
+
IMPLEMENT_IS_TYPE_B1(Span_bar,Bar);
return new Span_score_bar;
}
-IMPLEMENT_STATIC_NAME(Span_score_bar_engraver);
+
IMPLEMENT_IS_TYPE_B1(Span_score_bar_engraver, Span_bar_engraver);
-IMPLEMENT_STATIC_NAME(Piano_bar_engraver);
+
IMPLEMENT_IS_TYPE_B1(Piano_bar_engraver, Span_score_bar_engraver);
Span_bar*
return Interval(0,0);
}
-IMPLEMENT_STATIC_NAME(Span_score_bar);
+
IMPLEMENT_IS_TYPE_B1(Span_score_bar, Span_bar);
IMPLEMENT_IS_TYPE_B1(Piano_brace, Span_score_bar);
-IMPLEMENT_STATIC_NAME(Piano_brace);
+
#include "spanner-elem-group.hh"
-IMPLEMENT_STATIC_NAME(Spanner_elem_group);
+
IMPLEMENT_IS_TYPE_B2(Spanner_elem_group,Spanner,Horizontal_vertical_group);
Interval
#include "p-col.hh"
#include "p-score.hh"
-IMPLEMENT_STATIC_NAME(Spanner);
+
IMPLEMENT_IS_TYPE_B1(Spanner,Score_elem);
void
staff_sym_l_ = n ? (Staff_symbol*) n->spanner():0;
}
-IMPLEMENT_STATIC_NAME(Staff_side);
+
IMPLEMENT_IS_TYPE_B1(Staff_side, Score_elem);
}
-IMPLEMENT_STATIC_NAME(Staff_sym_engraver);
+
IMPLEMENT_IS_TYPE_B1(Staff_sym_engraver,Engraver);
ADD_THIS_ENGRAVER(Staff_sym_engraver);
no_lines_i_ = l;
}
-IMPLEMENT_STATIC_NAME(Staff_symbol);
+
IMPLEMENT_IS_TYPE_B1(Staff_symbol,Spanner);
void
#include "p-score.hh"
-IMPLEMENT_STATIC_NAME(Line_of_staff);
+
IMPLEMENT_IS_TYPE_B2(Line_of_staff,Spanner,Horizontal_vertical_group);
void
default_dir_i_ = i.value_;
}
-IMPLEMENT_STATIC_NAME(Stem_beam_engraver);
+
IMPLEMENT_IS_TYPE_B1(Stem_beam_engraver,Engraver);
ADD_THIS_ENGRAVER(Stem_beam_engraver);
stem_xoffset_f_ =0;
}
-IMPLEMENT_STATIC_NAME(Stem);
+
IMPLEMENT_IS_TYPE_B1(Stem,Item);
void
-IMPLEMENT_STATIC_NAME(Super_elem);
+
IMPLEMENT_IS_TYPE_B1(Super_elem,Score_elem);
*/
#include "swallow-grav.hh"
-IMPLEMENT_STATIC_NAME(Swallow_engraver);
+
IMPLEMENT_IS_TYPE_B1(Swallow_engraver,Engraver);
ADD_THIS_ENGRAVER(Swallow_engraver);
#include "swallow-perf.hh"
-IMPLEMENT_STATIC_NAME(Swallow_performer);
+
IMPLEMENT_IS_TYPE_B1(Swallow_performer, Performer);
ADD_THIS_PERFORMER(Swallow_performer);
style_str_ << "align " << align_i_ << '\n';
}
-IMPLEMENT_STATIC_NAME(Text_def);
+
IMPLEMENT_IS_TYPE_B1(Text_def,General_script_def);
{
text_req_l_ = 0;
}
-IMPLEMENT_STATIC_NAME(Text_engraver);
+
IMPLEMENT_IS_TYPE_B1(Text_engraver,Engraver);
ADD_THIS_ENGRAVER(Text_engraver);
return mol_p;
}
-IMPLEMENT_STATIC_NAME(Text_item);
+
IMPLEMENT_IS_TYPE_B1(Text_item,Item);
support_span_l_ = 0;
}
-IMPLEMENT_STATIC_NAME(Text_spanner);
+
IMPLEMENT_IS_TYPE_B1(Text_spanner,Spanner);
void
dir_i_ = f.value_;
}
-IMPLEMENT_STATIC_NAME(Tie_engraver);
+
IMPLEMENT_IS_TYPE_B1(Tie_engraver,Engraver);
ADD_THIS_ENGRAVER(Tie_engraver);
}
-IMPLEMENT_STATIC_NAME(Tie);
+
IMPLEMENT_IS_TYPE_B1(Tie,Bow);
iterator_count_ = 0;
}
-IMPLEMENT_STATIC_NAME(Translator);
+
IMPLEMENT_IS_TYPE_B(Translator);
bool
empty_b_ =true;
}
-IMPLEMENT_STATIC_NAME(Vertical_align_element);
+
IMPLEMENT_IS_TYPE_B1(Vertical_align_element, Score_elem);
}
}
-IMPLEMENT_STATIC_NAME(Vertical_align_engraver);
+
IMPLEMENT_IS_TYPE_B1(Vertical_align_engraver, Engraver);
ADD_THIS_ENGRAVER(Vertical_align_engraver);
#include "vertical-align-spanner.hh"
-IMPLEMENT_STATIC_NAME(Vertical_align_spanner);
+
IMPLEMENT_IS_TYPE_B2(Vertical_align_spanner, Vertical_align_element, Spanner);
}
-IMPLEMENT_STATIC_NAME(Voice_group_engravers);
+
IMPLEMENT_IS_TYPE_B1(Voice_group_engravers,Engraver_group_engraver);
void
//IMPLEMENT_IS_TYPE_B2(Voice_group_performer,Performer, Translator);
IMPLEMENT_IS_TYPE_B1(Voice_group_performer,Performer_group_performer);
-IMPLEMENT_STATIC_NAME(Voice_group_performer);
+
ADD_THIS_PERFORMER(Voice_group_performer);
Voice_group_performer::Voice_group_performer()