* scripts/convert-ly.py (conv): add # to \property scalar value.
* mf/GNUmakefile: don't install *list.ly
+2005-01-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/music.hh (class Music): include SCM init argument.
+
+ * scripts/convert-ly.py (conv): add # to \property scalar value.
+
+ * mf/GNUmakefile: don't install *list.ly
+
2005-01-14 Jan Nieuwenhuizen <janneke@gnu.org>
* mf/GNUmakefile (CFF_FILES): Bugfix: only big cheeses and braces.
return last;
}
-Event::Event ()
- : Music ()
+Event::Event (SCM i)
+ : Music (i)
{
}
ADD_MUSIC (Event);
+Key_change_ev::Key_change_ev (SCM x)
+ : Event (x)
+{
+}
void
Key_change_ev::transpose (Pitch p)
{
return gl;
}
-Grace_music::Grace_music ()
+Grace_music::Grace_music (SCM x)
+ : Music_wrapper (x)
{
- set_property ("iterator-ctor",
- Grace_iterator::constructor_proc);
}
ADD_MUSIC (Grace_music);
class Event : public Music
{
public:
- Event ();
+ Event (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Event);
virtual void compress (Moment);
virtual Moment get_length () const;
class Key_change_ev : public Event
{
public:
+ Key_change_ev (SCM);
SCM pitch_alist ();
protected:
{
public:
VIRTUAL_COPY_CONSTRUCTOR (Music, Grace_music);
- Grace_music ();
+ Grace_music (SCM);
protected:
virtual Moment get_length () const;
virtual Moment start_mom () const;
class Lyric_combine_music : public Music
{
public:
- Lyric_combine_music ();
+ Lyric_combine_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Lyric_combine_music);
Music *get_music () const;
#ifndef MUSIC_CONSTRUCTOR_HH
#define MUSIC_CONSTRUCTOR_HH
-#include "lily-proto.hh"
+#include "lily-guile.hh"
#include "string.hh"
#include "global-ctor.hh"
#define ADD_MUSIC(type) \
-Music * _ ## type ## _ctor ()\
+Music * _ ## type ## _ctor (SCM init)\
{\
- return new type;\
+ return new type (init);\
}\
static void _ ## type ## _adder () {\
add_music_ctor (#type, & _ ## type ## _ctor);\
}\
ADD_SCM_INIT_FUNC( _ ## type ## _adder_prefix, _ ## type ## _adder);
-void add_music_ctor (String, Music* (*) ());
-Music*make_music (String);
+void add_music_ctor (String, Music* (*) (SCM));
+Music*make_music (String, SCM);
class Simultaneous_music : public Music_sequence
{
public:
- Simultaneous_music ();
+ Simultaneous_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Simultaneous_music);
virtual Pitch to_relative_octave (Pitch);
public:
VIRTUAL_COPY_CONSTRUCTOR (Music, Event_chord);
virtual Pitch to_relative_octave (Pitch);
+ Event_chord (SCM);
};
/**
virtual Moment get_length () const;
virtual Moment start_mom () const;
- Sequential_music ();
+ Sequential_music (SCM);
};
#endif /* MUSIC_LIST_HH */
{
public:
Music_sequence (SCM h);
- Music_sequence ();
VIRTUAL_COPY_CONSTRUCTOR (Music, Music_sequence);
SCM music_list () const;
- void append_music (Music *);
Pitch do_relative_octave (Pitch p, bool b);
class Music
{
public:
- Music ();
+ Music (SCM init);
Music (Music const &m);
VIRTUAL_COPY_CONSTRUCTOR (Music, Music);
class Relative_octave_music : public Music_wrapper
{
public:
- Relative_octave_music ();
+ Relative_octave_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Relative_octave_music);
virtual Pitch to_relative_octave (Pitch);
class Relative_octave_check : public Music
{
public:
+ Relative_octave_check (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Relative_octave_check);
virtual Pitch to_relative_octave (Pitch);
class Repeated_music : public Music
{
public:
- Repeated_music ();
Repeated_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Repeated_music);
class Transposed_music : public Music_wrapper
{
public:
- Transposed_music ();
Transposed_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Transposed_music);
class Un_relativable_music: public Music_wrapper
{
public:
- Un_relativable_music ();
+ Un_relativable_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Un_relativable_music);
Pitch to_relative_octave (Pitch);
class Untransposable_music : public Music_wrapper
{
public:
- Untransposable_music ();
+ Untransposable_music (SCM);
VIRTUAL_COPY_CONSTRUCTOR (Music, Untransposable_music);
virtual Pitch to_relative_octave (Pitch);
#include "pitch.hh"
-Lyric_combine_music::Lyric_combine_music ()
- : Music ()
+Lyric_combine_music::Lyric_combine_music (SCM x)
+ : Music (x)
{
}
}
Music *
-make_music (String s)
+make_music (String s, SCM init)
{
Music_ctor c = get_music_ctor (s);
if (!c)
programming_error (String ("No constructor for music: ") + s);
assert (c);
- return (*c) ();
+ return (*c) (init);
}
)
{
SCM_ASSERT_TYPE (scm_is_string (type), type, SCM_ARG1, __FUNCTION__, "string");
- SCM s = make_music (ly_scm2string (type))->self_scm ();
- unsmob_music (s)->immutable_property_alist_ = props;
+ SCM s = make_music (ly_scm2string (type), props)->self_scm ();
scm_gc_unprotect_object (s);
return s;
}
#include "pitch.hh"
#include "input.hh"
-Music_sequence::Music_sequence ()
- : Music ()
+Music_sequence::Music_sequence (SCM x)
+ : Music (x)
{
}
return get_property ("elements");
}
-/*
- Ugh this sucks. Linear. do not use.
- */
-void
-Music_sequence::append_music (Music *m)
-{
- set_property ("elements",
- ly_append2 (music_list (), scm_cons (m->self_scm (), SCM_EOL)));
- scm_gc_unprotect_object (m->self_scm ());
-}
-
void
transpose_music_list (SCM lst, Pitch rq)
{
}
}
-Music::Music ()
+Music::Music (SCM init)
{
self_scm_ = SCM_EOL;
- immutable_property_alist_ = SCM_EOL;
+ immutable_property_alist_ = init;
mutable_property_alist_ = SCM_EOL;
smobify_self ();
}
+/*
+ relative-octave-check.cc -- implement Relative_octave_check
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+*/
+
#include "relative-octave-check.hh"
#include "input.hh"
#include "pitch.hh"
-/*
- yeah, so this should be in a separate file.
- I'm lazy.
- */
Pitch
Relative_octave_check::to_relative_octave (Pitch p)
{
p.get_notename (), p.get_alteration ());
}
+
+Relative_octave_check::Relative_octave_check (SCM x)
+ : Music (x)
+{
+}
+
ADD_MUSIC (Relative_octave_check);
}
-Relative_octave_music::Relative_octave_music ()
+Relative_octave_music::Relative_octave_music (SCM x)
+ : Music (x)
{
+
}
ADD_MUSIC (Relative_octave_music);
return get_property ("elements");
}
-
-
-
Pitch
Repeated_music::to_relative_octave (Pitch p)
{
ADD_MUSIC (Repeated_music);
-Repeated_music::Repeated_music ()
- : Music ()
+Repeated_music::Repeated_music (SCM x)
+ : Music (x)
{
}
return Music_sequence::minimum_start (get_property ("elements"));
}
-Simultaneous_music::Simultaneous_music ()
+Simultaneous_music::Simultaneous_music (SCM x)
+ : Music (x)
{
}
}
ADD_MUSIC (Transposed_music);
-Transposed_music::Transposed_music ()
+
+Transposed_music::Transposed_music (SCM x)
+ : Music (x)
{
}
#include "un-relativable-music.hh"
-Un_relativable_music::Un_relativable_music ( )
+Un_relativable_music::Un_relativable_music (SCM x)
+ : Music (x)
{
}
fixthis.
*/
void
-Untransposable_music::transpose (Pitch )
+Untransposable_music::transpose (Pitch)
{
}
ADD_MUSIC (Untransposable_music);
-Untransposable_music::Untransposable_music ()
+Untransposable_music::Untransposable_music (SCM init)
+ : Music_wrapper (init)
{
}
INSTALLATION_DIR=$(local_lilypond_datadir)/fonts/source
INSTALLATION_FILES=$(MF_FILES) $(AF_FILES)
-INSTALLATION_OUT_SUFFIXES=1 2 3 4 5 6 7 8 9
+INSTALLATION_OUT_SUFFIXES=1 2 3 5 6 7 8 9
INSTALLATION_OUT_DIR1=$(local_lilypond_datadir)/tex
INSTALLATION_OUT_FILES1=$(TEXTABLES)
INSTALLATION_OUT_DIR3=$(local_lilypond_datadir)/fonts/tfm
INSTALLATION_OUT_FILES3=$(TFM_FILES)
-INSTALLATION_OUT_DIR4=$(local_lilypond_datadir)/ly
-INSTALLATION_OUT_FILES4=$(FETA_LIST_FILES)
-
INSTALLATION_OUT_DIR5=$(local_lilypond_datadir)/fonts/type1
INSTALLATION_OUT_FILES5=$(PFA_FILES)
(GraceMusic
. (
(description . "Interpret the argument as grace notes. ")
-
(internal-class-name . "Grace_music")
(iterator-ctor . ,Grace_iterator::constructor)
(types . (grace-music music-wrapper-music general-music))
def conv (str):
+ str = re.sub (r'(\\property[^=]+)=\s*([-0-9]+)',
+ r'\1= #\2', str)
str = re.sub (r'\\property\s+([^. ]+)\s*\.\s*([^\\=]+)\s*\\(set|override)',
r"\\overrid@ \1.\2 ", str)
str = re.sub (r'\\property\s+([^. ]+)\s*\.\s*([^\\= ]+)\s*=\s*',
conv,
'''\context Foo = NOTENAME -> \context Foo = "NOTENAME"'''))
+def conv (str):
+ def sub(m):
+ return regularize_id (m.group (1))
+ str = re.sub (r'(maintainer_email|maintainer_web|midi_stuff|gourlay_maxmeasures)',
+ sub, str)
+ return str
+
+conversions.append (((2, 3, 24),
+ conv,
+ '''regularize other identifiers.'''))
+
def conv (str):
return str
local-install-files: $(INSTALLATION_FILES)
$(PRE_INSTALL)
-$(INSTALL) -d $(INSTALLATION_DIR)
- $(foreach i, $(INSTALLATION_FILES),\
- $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR)/ &&)true
+ for i in $(INSTALLATION_FILES); do \
+ $(INSTALL) -m 644 $$i $(INSTALLATION_DIR)/ ; done
$(foreach suff, $(INSTALLATION_SUFFIXES), \
($(INSTALL) -d $(INSTALLATION_DIR$(suff)) || true) && \
- $(foreach i, $(INSTALLATION_FILES$(suff)), \
- $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR$(suff))/ && ) && ) true
+ for i in $(INSTALLATION_FILES$(suff)); do \
+ $(INSTALL) -m 644 $$i $(INSTALLATION_DIR$(suff))/; done )
$(POST_INSTALL)
local-uninstall: local-uninstall-outfiles local-uninstall-files