From 4818fc4ce0bda7b1c44aad486d50b134b364ff78 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys & Jan Nieuwenhuizen Date: Mon, 24 Feb 1997 10:48:04 +0100 Subject: [PATCH] partial: 0.0.34.hanjan --- src/inputfile.cc | 41 +++++++++++++++++++++++++++++++++++++++++ src/midioutput.cc | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 src/inputfile.cc create mode 100644 src/midioutput.cc diff --git a/src/inputfile.cc b/src/inputfile.cc new file mode 100644 index 0000000000..7faefd2c9b --- /dev/null +++ b/src/inputfile.cc @@ -0,0 +1,41 @@ +/* + inputfile.cc -- implement Input_file + + source file of the LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys Jan Nieuwenhuizen +*/ + +#include +#include +#include "proto.hh" +#include "plist.hh" +#include "inputfile.hh" +#include "debug.hh" +#include "sourcefile.hh" +#include "source.hh" + +Input_file::Input_file(String s) +{ + name = s; + line = 1; + String pf(s); + if ( pf == "" ) { + is = &cin; + defined_ch_c_l_ = 0; + sourcefile_l_ = 0; + } + else { + Source_file* sourcefile_p = new Source_file( pf ); + source_l_g->add( sourcefile_p ); + sourcefile_l_ = sourcefile_p; + is = sourcefile_l_->istream_l(); + defined_ch_c_l_ = sourcefile_l_->ch_c_l(); + } + cout << "[" << pf << flush; +} + +Input_file::~Input_file() +{ + cout << "]" << flush; +} diff --git a/src/midioutput.cc b/src/midioutput.cc new file mode 100644 index 0000000000..b17486e970 --- /dev/null +++ b/src/midioutput.cc @@ -0,0 +1,44 @@ +/* + midioutput.cc -- implement Midi_output + + source file of the LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys , Jan Nieuwehuizen +*/ +#include "plist.hh" +#include "debug.hh" +#include "score.hh" +#include "staff.hh" +#include "midistream.hh" +#include "mididef.hh" +#include "midioutput.hh" +#include "midiwalker.hh" +#include "midiitem.hh" +#include "stcol.hh" +#include "musicalrequest.hh" + + +Midi_output:: Midi_output(Score* score_l, Midi_def* midi_l ) +{ + Midi_stream midi_stream(midi_l->outfile_str_, + score_l->staffs_.size(), + midi_l->get_tempo_i(Moment(1, 4))); + + midi_stream_l_ = &midi_stream; + int track_i=0; + + for (iter_top(score_l->staffs_,i); i.ok(); i++) { + do_staff(i, track_i++); + } + +} + +void +Midi_output::do_staff(Staff*st_l,int track_i) +{ + Midi_track midi_track( track_i ); + for (Midi_walker w (st_l, &midi_track); w.ok(); w++) + w.process_requests(); + + *midi_stream_l_ << midi_track; +} -- 2.39.5