my $lily_version;
my $footstr;
my $mw_id = "<!make_website!>";
-my $id_str = "make-website 0.2";
+my $id_str = "make-website 0.3";
+
+my $TAR="tar";
+my $MAKE="make";
sub get_version
{
local $base="lilypond/";
-local @examples=("multi", "wohltemperirt" ,"standchen", "toccata-fuga-E",
+local @examples=("twinkle", "multi", "wohltemperirt" ,"standchen", "toccata-fuga-E",
"scsii-menuetto", "collisions", "cadenza", "scales");
# rhythm, scales,
sub gen_html
{
print "generating HTML\n";
- my_system "make -kC .. html";
-}
-
-sub ps_to_gif
-{
- my ($a)=@_;
-
- if (! -f "$a.ps" ) {
- my_system("gunzip -c $a.ps.gz > $a.ps");
- }
- my_system "gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE $a.ps -c quit |pnmscale 0.5| ppmtogif > $a.gif";
-}
-
-
-sub ps_to_jpeg
-{
- my ($a)=@_;
- my $in = "$a.ps";
-
- my_system "gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE $in -c quit |pnmscale 0.5| cjpeg -grayscale > $a.jpeg";
+ my_system "$MAKE -kC .. html";
}
sub gen_examples
{
print "generating examples: \n";
+ my @todo=();
foreach $a (@examples) {
- $texfile="lelie";
- $tex = "tex $texfile";
- if ($a eq "standchen" || $a eq "scsii-menuetto" ) {
- $tex = "latex $a";
- $texfile = "$a";
- }
-
- if ( ! -f "$a.ly.txt" ) {
- my_system "ln $depth/input/$a.ly ./$a.ly.txt";
- }
- if (! -f "$a.dvi" ) {
- my_system "lilypond $a;",
- "$tex", "-mv $texfile.dvi $a.dvi";
- }
- if ( ! -f "$a.ps.gz" && ! -f "$a.ps" ) {
- my_system "dvips -o $a.ps $a.dvi";
- }
-
- my_system "mv lelie.midi $a.midi; " if ( -f "lelie.midi" );
-
- # generate the pixmap at twice the size, then rescale (for antialiasing)
- if ( ! -f "$a.gif" ) {
- ps_to_gif($a);
- }
- if ( ! -f "$a.ps.gz" ) {
- my_system "gzip -f $a.ps";
- }
+ push @todo, "out/$a.ps.gz", "out/$a.gif", "out/$a.ly.txt";
}
+
+ my_system ("$MAKE -C .. " . join(' ', @todo));
}
my @texstuff = ("mudela-man", "mudela-course");
open HTMLLIST, ">tex_manuals.html";
print HTMLLIST "<html><body><title>LilyPond manuals in TeX</title>\n" .
"<ul>\n";
+ my @todo=();
foreach $a (@texstuff) {
- my_system( "make -C $depth/Documentation out/$a.dvi");
- my_system( "dvips $a", "gzip -9f $a.ps");
+ push @todo , "out/$a.ps.gz";
print HTMLLIST "<li><a href=$a.ps.gz>$a.ps.gz</a>";
}
print HTMLLIST "</ul>";
close HTMLLIST;
+
+ my_system( "$MAKE -C .. " . join(' ', @todo));
}
sub gen_list
}
}
+sub copy_txt_file
+{
+ my ($f) = @_;
+ my $d = $f;
+ $d =~ s!^.*\/!!;
+ if (! $f =~ /.txt$/) {
+ $d = "$f.txt";
+ }
+ print $f, $d;
+}
+
sub copy_files
{
print "copying files\n";
print `ln -s $depth/out ./docxx` if ( ! -x "docxx" ) ;
my_system "cp $depth/TODO ./TODO.txt",
+ "cp $depth/ANNOUNCE ./ANNOUNCE.txt",
"cp $depth/NEWS ./NEWS.txt",
+ "cp $depth/DEDICATION ./DEDICATION.txt",
"cp ../lelie*gif .";
}
sub docxx_update
{
- my_system "make -C $depth doc++";
+ my_system "$MAKE -C $depth doc++";
}
sub do_tar
print "tarring.\n";
$files = join (' ', < *.html *.$image *.ps.gz *.txt *.midi docxx/*>);
my_system
- "-tar vhcf website.tar $files;",
- "gzip -f9 website.tar;";
+ "-$TAR zvhcf website.tar.gz $files;",
+# "gzip -f9 website.tar;";
}
sub identify
#include "performer-group-performer.hh"
#include "debug.hh"
-IMPLEMENT_STATIC_NAME(Performer);
+
IMPLEMENT_IS_TYPE_B(Performer);
Performer::Performer()
{
daddy_perf_l_ = 0;
+ init_b_ =false;
}
Performer::~Performer()
return daddy_perf_l_->get_mom();
}
-void
-Performer::midi_output( Midi_stream* )
-{
-}
-
void
Performer::play_event( Midi_item* l )
{
daddy_perf_l_->play_event( l );
}
+int
+Performer::get_tempo_i()const
+{
+ return daddy_perf_l_->get_tempo_i();
+}
+
void
Performer::print() const
{
#ifndef NPRINT
mtor << "\n" << name() << " {";
-// do_print();
+ do_print();
mtor << "}";
#endif
}
{
}
-void
-Performer::set_track( Midi_def*, int& )
-{
-}
-
bool
-Performer::try_request( Request* req_l )
+Performer::do_try_request( Request* req_l )
{
-// huh?
-// return daddy_perf_l_->try_request( req_l_ );
return false;
}
+bool
+Performer::try_request(Request*r)
+{
+ if (!init_b_) {
+ creation_processing();
+ }
+ return do_try_request(r);
+}
+
+void
+Performer::creation_processing()
+{
+ if (!init_b_) {
+/* if ( daddy_perf_l_ ) {
+ init_b_ = true; // ugh. avoid recursion
+ daddy_perf_l_->creation_processing();
+ init_b_ = false;
+ }
+
+ */
+ do_creation_processing();
+ init_b_ = true;
+ }
+}
+void
+Performer::do_creation_processing()
+{
+}
+
+void
+Performer::do_removal_processing()
+{
+}