From: fred Date: Sun, 24 Mar 2002 19:39:43 +0000 (+0000) Subject: lilypond-0.0.52 X-Git-Tag: release/1.5.59~4933 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=cb2134e8e4fb98b029949abdf313faadb7f4c143;p=lilypond.git lilypond-0.0.52 --- diff --git a/TODO b/TODO index 20b8e9aea5..805651b355 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -before 0.1 +IMPORTANT * update 20 pt table @@ -8,6 +8,11 @@ before 0.1 * script priority + * slur direction + + * problems with empty staff.->revise staff-column/score-walker. + + This is an assorted collection of stuff that will be done, might be done, or is an idea that I want to think about @@ -18,10 +23,6 @@ BUGS * hairpin width - * problems with empty staff. - - * help-lines - * help-lines for rests * [c8. c32 c32] @@ -30,8 +31,6 @@ BUGS * lilypond - -> crash - * \stem -1 < chord > rest - SEVERELY LACKING: * SPEED! @@ -66,6 +65,8 @@ INPUTLANGUAGE SMALLISH PROJECTS + * use rest size in Collision + * bugreport to doc++ devel: struct not in class hier; public virtual baseclasses @@ -116,11 +117,10 @@ SMALLISH PROJECTS * command priority into enum - * don't broadcast Staff_sym - * C meter iso 4/4 * textspanner: center position + * script-spacing * Brackets @@ -132,8 +132,6 @@ SMALLISH PROJECTS * configure idealspacing: arithmetic - * collision Request_register. - * add (good guess of) width to lyric items * midi output: eat-up dynamic, key/meter/tempo changes, and @@ -153,12 +151,12 @@ FUTURE * Reg_configure_request + * bring Collision::do_pre_processing to haircutter + * slurs per voicegroup. * slur parts as a script - * multiple scripst. - * mixed fontsizes * put scripts on bars @@ -171,7 +169,6 @@ FUTURE * MIDI repeat: make lily understand repeats - * better beamslope calculation: QLP for beams? * implement better breaking algorithm @@ -189,17 +186,19 @@ FUTURE * piano staff * vertical spanner + IDEAS + * scoping in Lexer? + * integrate Register/Midi stuff * create libmudela, or liblily_frontend - * Horizontal_align_item, Vertical_align_item. - - * move MIDI io to a ANSI C libmidi library. + * move MIDI stuff (including Quantization) to a ANSI C libmidi library. * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ? + for : - Items/Spanners - Registers diff --git a/bin/convert-mudela b/bin/convert-mudela index d64a7d75ac..ff7b4c2864 100644 --- a/bin/convert-mudela +++ b/bin/convert-mudela @@ -1,3 +1,141 @@ #!/usr/bin/perl -w -print "todo\n!"; +=head1 NAME + +convert-mudela - convert mudela to newer versions + +=head1 SYNOPSIS + + convert-mudela --from=FROM_PATCHLEVEL --to=TO_PATCHLEVEL + +=head1 DESCRIPTION + +convert-mudela sequentially applies different mudela-conversions to +upgrade a Mudela input file from FROM_PATCHLEVEL to TO_PATCHLEVEL + +=head1 OPTIONS + +=over 4 + +=item B<--output> + +The output file to write + +=item B<--edit> + +Do an inline edit of the input file. override B<--output> + +=item B<--show-rules> + +shows all known conversions. + +=item B<--from>=FROM_PATCHLEVEL + +=item B<--to>=TO_PATCHLEVEL + +=back + +=cut + + +use Getopt::Long; +sub + version_string_conv +{ + my ($from_version, $to_version) = @_; + s/\version \"0.0.$from_version\"/\version \"0.0.$to_version\"/g; +} + +sub + conv_pl0_0_50_pl0_0_52 +{ + +} + +sub + usage +{ + print STDERR "Usage: convert-mudela --from=XX --to=XX\n"; + print STDERR "other options: --edit --output=FILE --show-rules\n"; + exit 2; +} + +my %minor_conversions = ("50" => \&no_conv, + "52" => \&conv_pl0_0_50_pl0_0_52); + +sub + show_rules +{ + print "Rules: ", join(", ", keys %minor_conversions), "\n"; + +} + +sub + do_conversion +{ + my ($from,$to) = @_; + + my @applicable_conversion; + my @mudela_levels; + + die "This is too old to convert " if $from < 50; + + foreach $a (sort keys %minor_conversions) { + if ($a > $from && $a <= $to ){ + push @applicable_conversion, $minor_conversions{$a}; + push @mudela_levels, $a; + } + } + + print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n"; + + while () { + foreach $subroutine (@applicable_conversion) { + + &$subroutine; + + } + version_string_conv $from, $to; + print OUTLY; + } +} + + +sub + set_files +{ + $infile = "-"; + $outfile = "-"; + $outfile = $opt_output if (defined($opt_output)); + + if ($ARGV [0]) { + $infile = $ARGV[0]; + } + + if ($opt_edit && $infile ne "-") { + $opt_edit = 1; + rename $infile, "$infile~"; + $outfile = $infile; + $infile = "$infile~"; + } +} + +GetOptions ("output=s", "from=i", "to=i", "minor=i", "edit", "show-rules"); + +if ($opt_show_rules) { + show_rules ; + $opt_show_rules = 0; # to extinguish typo check. + exit 0; +} + +usage if (!defined($opt_from) || !defined($opt_to)); +local ( $infile,$outfile); +set_files; + +die "can't open \`$infile\'" unless open INLY,$infile ; +die "can't open \`$outfile\'" unless open OUTLY, ">$outfile"; + +do_conversion $opt_from, $opt_to; +close INLY; +close OUTLY; + diff --git a/bin/make_website b/bin/make_website index 411262ed4a..f7a1209029 100755 --- a/bin/make_website +++ b/bin/make_website @@ -1,8 +1,7 @@ #!/usr/bin/perl -w # stuff should be generated in out directory. -sub - set_hrefs +sub set_hrefs { while () { s#href=([A-Za-z.]+)#href=$base/$1#g; @@ -24,18 +23,16 @@ sub all_refs } local $base="lilypond/"; -local @examples=("wohltemperirt" ,"standchen", "scsii-menuetto", "rhythm", "martien"); +local @examples=("wohltemperirt" ,"standchen", "scsii-menuetto", "rhythm", "martien", "collisions"); -#mkdir "lilypond"; -sub - gen_html + +sub gen_html { print "generating HTML\n"; system "make -kC .. html"; } -sub - gen_examples +sub gen_examples { print "generating examples: \n"; foreach $a (@examples) { @@ -64,8 +61,7 @@ sub } -sub - gen_list +sub gen_list { print "generating HTML list\n"; open HTMLLIST, ">example_output.html"; @@ -85,14 +81,15 @@ sub print HTMLLIST ""; +
  • The output (PS)\n"; + + print HTMLLIST "
  • The output (MIDI)\n" + if ( -f $midif ); + print HTMLLIST ""; } close HTMLLIST; } -sub - copy_files +sub copy_files { print "copying files\n"; print `ln -s $depth/out ./docxx` if ( ! -x "docxx" ) ; @@ -101,6 +98,11 @@ sub system "cp ../lelie*gif ."; } +sub docxx_update +{ + system "make -C $depth doc++"; +} + sub do_tar { @@ -118,8 +120,10 @@ chomp($cwd = `pwd`); die "need to be in directory Documentation\n" if ( ! ($cwd =~ /Documentation$/)); chdir ("out"); + gen_html; gen_examples; gen_list; copy_files; +docxx_update; do_tar;