+2003-08-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/main.cc (main): don't identify binary.
+
2003-08-29 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * lily/include/translator.hh (class Translator): remove
+ type_string_ , use symbol for context name throughout.
+ Changes through whole source tree.
+
* scripts/lilypond.py: rename ly2dvi.py to lilypond.py
set PDF as default, and always make PDF.
*/
else if (gh_symbol_p (ly_car (accidentals)))
{
- String context = ly_symbol2string (ly_car (accidentals));
-
+ SCM context =ly_car (accidentals);
while (origin && !origin->is_alias_b (context))
origin = origin->daddy_trans_;
if (!origin)
warning (_f ("Symbol is not a parent context: %s. Ignored",
- context.to_str0 ()));
+ ly_symbol2string (context).to_str0 ()));
}
else warning (_f ("Accidental typesetting must be pair or context-name: %s",
ly_scm2string (ly_car (accidentals)).to_str0 ()));
void
-Auto_change_iterator::change_to (Music_iterator *it, String to_type,
+Auto_change_iterator::change_to (Music_iterator *it, SCM to_type_sym,
String to_id)
{
Translator_group * current = it->report_to ();
If \translator Staff = bass, then look for Staff = *
*/
- while (current && current->type_string_ != to_type)
+ while (current && !current->is_alias_b (to_type_sym))
{
last = current;
current = current->daddy_trans_;
if (last)
{
Translator_group * dest =
- it->report_to ()->find_create_translator (to_type, to_id);
+ it->report_to ()->find_create_translator (to_type_sym, to_id);
current->remove_translator (last);
dest->add_used_group_translator (last);
}
{
where_dir_ = s;
String to_id = (s >= 0) ? "up" : "down";
- String wh = ly_scm2string (get_music ()->get_mus_property ("what"));
- change_to (child_iter_, wh, to_id);
+ change_to (child_iter_, get_music ()->get_mus_property ("what"), to_id);
}
}
}
void
Axis_group_engraver::finalize ()
{
- String type = get_daddy_grav ()->type_string_ ;
+ String type = get_daddy_grav ()->context_name ();
SCM dims = get_property ("verticalExtent");
if (gh_pair_p (dims) && gh_number_p (ly_car (dims))
String warn1 = _f ("can't change `%s' to `%s'", to_type, to_id)
+ ": " + reason;
+
/*
GUHG!
*/
String warn2= "Change_iterator::process (): "
- + report_to ()->type_string_ + " = `"
+ + report_to ()->context_name () + " = `"
+ report_to ()->id_string_ + "': ";
warning (warn2);
get_music ()->origin ()->warning (warn1);
Translator_group * current = report_to ();
Translator_group * last = 0;
- String to_type = ly_scm2string (get_music ()->get_mus_property ("change-to-type"));
+ SCM to_type = get_music ()->get_mus_property ("change-to-type");
String to_id = ly_scm2string (get_music ()->get_mus_property ("change-to-id"));
If \translator Staff = bass, then look for Staff = *
*/
- while (current && current->type_string_ != to_type)
+ while (current && !current->is_alias_b (to_type))
{
last = current;
current = current->daddy_trans_;
Context_specced_music_iterator::construct_children ()
{
SCM ct = get_music ()->get_mus_property ("context-type");
- String c_type;
- if (gh_string_p (ct))
- c_type = ly_scm2string (ct);
-
+
String c_id;
SCM ci = get_music ()->get_mus_property ("context-id");
if (gh_string_p (ci))
c_id = ly_scm2string (ci);
Translator_group* a
- =report_to ()->find_create_translator (c_type, c_id);
+ =report_to ()->find_create_translator (ct, c_id);
set_translator (a);
Array<Pitch> pending_pitch (Moment)const;
private:
Direction where_dir_;
- void change_to (Music_iterator* , String, String);
+ void change_to (Music_iterator* , SCM, String);
};
#endif /* AUTO_CHANGE_ITERATOR_HH */
virtual bool ok () const;
private:
- void change_to (Music_iterator*, String, String);
+ void change_to (Music_iterator*, SCM, String);
int get_state (Moment m);
Music_iterator * first_iter_;
SCM property_ops_;
public:
- SCM description_;
+ SCM description_;
+ /*
+ "type" is overloaded.
+ */
SCM type_name_;
SCM type_aliases_;
SCM translator_group_type_;
friend class Interpretation_context_handle;
SCM add_translator (SCM, Translator*);
-
+
protected:
~Translator_group ();
+
public:
void execute_pushpop_property (SCM prop, SCM sym, SCM val);
SCM internal_get_property (SCM name_sym) const;
Translator_group *where_defined (SCM name_sym) const;
String id_string_;
-
+ String context_name () const;
VIRTUAL_COPY_CONS (Translator);
Translator_group (Translator_group const &);
Translator_group ();
Translator *remove_translator (Translator*trans);
void check_removal ();
// Translator *get_simple_translator (String) const;
- Translator_group *find_existing_translator (String n, String id);
- Translator_group *find_create_translator (String n, String id);
- Link_array<Translator_group> path_to_acceptable_translator (String alias, Music_output_def*) const;
+ Translator_group *find_existing_translator (SCM context_name, String id);
+ Translator_group *find_create_translator (SCM context_name, String id);
+ Link_array<Translator_group> path_to_acceptable_translator (SCM alias,
+ Music_output_def*) const;
Translator_group*get_default_interpreter ();
public:
void init ();
public:
Music_output_def * output_def_;
- String type_string_;
- bool is_alias_b (String) const;
-
-
+ bool is_alias_b (SCM) const;
Translator (Translator const &);
SCM simple_trans_list_;
SCM trans_group_list_;
SCM definition_;
-
SCM properties_scm_;
DECLARE_SMOBS (Translator, dummy);
T *t = new T;\
T::static_description_ = t->static_translator_description ();\
scm_permanent_object (T::static_description_);\
- t->type_string_ = classname (t);\
add_translator (t);\
}\
SCM T::translator_description() const\
#include "warn.hh"
-String get_context_id (Translator_group * ancestor, const char * type);
+String get_context_id (Translator_group * ancestor, SCM);
String trim_suffix (String &id);
/* caught a note head ... do something with it */
/* what's its Voice context name? */
- String voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, "Voice");
+ String voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, ly_symbol2scm ("Voice"));
record_notehead (voice_context_id, h);
/* is it in a melisma ? */
}
else
{
- voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, "LyricsVoice");
+ voice_context_id = get_context_id (i.origin_trans_->daddy_trans_,ly_symbol2scm ( "LyricsVoice"));
voice_context_id = trim_suffix (voice_context_id);
}
record_lyric (voice_context_id, h);
*/
if (h->internal_has_interface (ly_symbol2scm ("lyric-extender-interface")))
{
- String voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, "LyricsVoice");
+ String voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, ly_symbol2scm ("LyricsVoice"));
record_extender (trim_suffix (voice_context_id), h);
return;
}
}
String
-get_context_id (Translator_group * ancestor, const char *type)
+get_context_id (Translator_group * ancestor, SCM type)
{
- while (ancestor != 0 && ancestor->type_string_ != type)
+ while (ancestor != 0 && !ancestor->is_alias_b(type))
{
ancestor = ancestor->daddy_trans_;
}
break;
}
}
- identify (stderr);
if (help_b)
{
Translator_def *tp = unsmob_translator_def (transdef);
assert (tp);
-
- SCM s = ly_symbol2scm ("");
- if (gh_string_p (tp->type_name_))
- s = scm_string_to_symbol (tp->type_name_);
-
- translator_tab_->set (s, transdef);
+ translator_tab_->set (tp->type_name_, transdef);
}
/*
- find the translator for NAME. NAME may be a string or a symbol.
+ find the translator for NAME. NAME must be a symbol.
*/
SCM
Music_output_def::find_translator (SCM name) const
{
- if (gh_string_p (name))
- name = scm_string_to_symbol (name);
-
SCM val =SCM_EOL;
translator_tab_->try_retrieve (name, &val);
return val;
*/
else if (gh_symbol_p (ly_car (accidentals)))
{
- String context = ly_symbol2string (ly_car (accidentals));
+ SCM context = ly_car (accidentals);
while (origin && !origin->is_alias_b (context))
origin = origin->daddy_trans_;
if (!origin)
warning (_f ("Symbol is not a parent context: %s. Ignored",
- context.to_str0 ()));
+ ly_symbol2string (context).to_str0 ()));
}
else warning (_f ("Accidental typesetting must be pair or context-name: %s",
ly_scm2string (ly_car (accidentals)).to_str0 ()));
if (to_boolean (get_property ("followVoice")))
{
Translator_group * tr = daddy_trans_;
- while (tr && tr->type_string_ != "Staff")
+ while (tr && !tr->is_alias_b (ly_symbol2scm ( "Staff")))
tr = tr->daddy_trans_ ;
- if (tr && tr->type_string_ == "Staff" && tr != last_staff_)
+ if (tr && tr->is_alias_b (ly_symbol2scm ("Staff")) && tr != last_staff_)
{
if (last_head_)
follow_ = true;
scm_string_to_symbol ($2), $4);
}
| translator_spec_body NAME STRING {
- unsmob_translator_def ($$)->type_name_ = $3;
+ unsmob_translator_def ($$)->type_name_ = scm_string_to_symbol ($3);
}
| translator_spec_body CONSISTS STRING {
unsmob_translator_def ($$)->add_element ($3);
unsmob_translator_def ($$)->add_last_element ( $3);
}
| translator_spec_body ACCEPTS STRING {
- unsmob_translator_def ($$)->set_acceptor ($3,true);
+ unsmob_translator_def ($$)->set_acceptor (scm_string_to_symbol ($3), true);
}
| translator_spec_body DENIES STRING {
- unsmob_translator_def ($$)->set_acceptor ($3,false);
+ unsmob_translator_def ($$)->set_acceptor (scm_string_to_symbol ($3), false);
}
| translator_spec_body REMOVE STRING {
unsmob_translator_def ($$)->remove_element ($3);
csm->set_mus_property ("element", $3->self_scm ());
scm_gc_unprotect_object ($3->self_scm ());
- csm->set_mus_property ("context-type",$2);
+ csm->set_mus_property ("context-type", scm_string_to_symbol ($2));
csm->set_mus_property ("context-id", scm_makfrom0str (""));
$$ = csm;
chm->set_mus_property ("iterator-ctor", Auto_change_iterator::constructor_proc);
scm_gc_unprotect_object ($3->self_scm ());
- chm->set_mus_property ("what", $2);
+ chm->set_mus_property ("what", scm_string_to_symbol ($2));
$$ = chm;
chm->set_spot (*$3->origin ());
csm->set_mus_property ("element", $5->self_scm ());
scm_gc_unprotect_object ($5->self_scm ());
- csm->set_mus_property ("context-type", $2);
+ csm->set_mus_property ("context-type", scm_string_to_symbol ($2));
csm->set_mus_property ("context-id", $4);
$$ = csm;
csm->set_mus_property ("element", $3->self_scm ());
scm_gc_unprotect_object ($3->self_scm ());
- csm->set_mus_property ("context-type", $2);
+ csm->set_mus_property ("context-type", scm_string_to_symbol ($2));
SCM new_id = scm_number_to_string (gh_int2scm (new_context_count ++),
gh_int2scm (10));
{
int n = gh_scm2int (ly_car ($3)); int d = gh_scm2int (ly_cdr ($3));
Music *mp = $4;
- $$= MY_MAKE_MUSIC("TimeScaledMusic");
- $$->set_spot (THIS->pop_spot ());
+ $$= MY_MAKE_MUSIC("TimeScaledMusic");
+ $$->set_spot (THIS->pop_spot ());
$$->set_mus_property ("element", mp->self_scm ());
scm_gc_unprotect_object (mp->self_scm ());
part_combined_music:
PARTCOMBINE STRING Music Music {
- Music * p= MY_MAKE_MUSIC("PartCombineMusic");
- p->set_mus_property ("what", $2);
+ Music * p= MY_MAKE_MUSIC("PartCombineMusic");
+ p->set_mus_property ("what", scm_string_to_symbol ($2));
p->set_mus_property ("elements", gh_list ($3->self_scm (),$4->self_scm (), SCM_UNDEFINED));
scm_gc_unprotect_object ($3->self_scm ());
translator_change:
TRANSLATOR STRING '=' STRING {
Music*t= MY_MAKE_MUSIC("TranslatorChange");
- t-> set_mus_property ("change-to-type", $2);
+ t-> set_mus_property ("change-to-type", scm_string_to_symbol ($2));
t-> set_mus_property ("change-to-id", $4);
$$ = t;
$$ = csm;
$$->set_spot (THIS->here_input ());
- csm-> set_mus_property ("context-type", $2);
+ csm-> set_mus_property ("context-type", scm_string_to_symbol ($2));
}
| PROPERTY STRING '.' STRING UNSET {
$$ = csm;
$$->set_spot (THIS->here_input ());
- csm-> set_mus_property ("context-type", $2);
+ csm-> set_mus_property ("context-type", scm_string_to_symbol ($2));
}
| PROPERTY STRING '.' STRING SET embedded_scm '=' embedded_scm {
bool autobeam
$$ = csm;
$$->set_spot (THIS->here_input ());
- csm-> set_mus_property ("context-type", $2);
+ csm-> set_mus_property ("context-type", scm_string_to_symbol ($2));
}
| PROPERTY STRING '.' STRING OVERRIDE
embedded_scm '=' embedded_scm
$$ = csm;
$$->set_spot (THIS->here_input ());
- csm-> set_mus_property ("context-type", $2);
+ csm-> set_mus_property ("context-type", scm_string_to_symbol ($2));
}
| PROPERTY STRING '.' STRING REVERT embedded_scm {
$$ = csm;
$$->set_spot (THIS->here_input ());
- csm-> set_mus_property ("context-type", $2);
+ csm-> set_mus_property ("context-type", scm_string_to_symbol ($2));
}
;
$$ = csm;
$$->set_spot (THIS->here_input ());
- csm->set_mus_property ("context-type", scm_makfrom0str ("Timing"));
+ csm->set_mus_property ("context-type", ly_symbol2scm ("Timing"));
}
| PARTIAL duration_length {
Moment m = - unsmob_duration ($2)->get_length ();
scm_gc_unprotect_object (p->self_scm ());
$$ =sp ;
- sp-> set_mus_property ("context-type", scm_makfrom0str ("Timing"));
+ sp-> set_mus_property ("context-type", ly_symbol2scm ("Timing"));
}
| CLEF STRING {
static SCM proc ;
}
void
-Part_combine_music_iterator::change_to (Music_iterator *it, String to_type,
+Part_combine_music_iterator::change_to (Music_iterator *it, SCM to_type,
String to_id)
{
Translator_group * current = it->report_to ();
If \translator Staff = bass, then look for Staff = *
*/
- while (current && current->type_string_ != to_type)
+ while (current && !current->is_alias_b (to_type))
{
last = current;
current = current->daddy_trans_;
last->translator_id_string_ = get_change ()->change_to_id_string_;
*/
- error (_f ("I'm one myself: `%s'", to_type.to_str0 ()));
+ error (_f ("I'm one myself: `%s'", ly_symbol2string (to_type).to_str0 ()));
}
else
error (_f ("none of these in my family: `%s'", to_id.to_str0 ()));
Music *p = get_music ();
- String w = ly_scm2string (p->get_mus_property ("what"));
+ SCM w = p->get_mus_property ("what");
Translator_group *first_translator = first_iter_->report_to ()->find_create_translator (w, "one" + suffix_);
if (second_iter_ && second_iter_->ok ())
second_iter_->try_music (abort_req);
}
- String w = ly_scm2string (p->get_mus_property ("what"));
+ SCM w = p->get_mus_property ("what");
if (combine_b != previously_combined_b)
change_to (second_iter_, w, (combine_b ? "one" : "two")
+ suffix_);
#include "warn.hh"
#include "simultaneous-music-iterator.hh"
#include "music-list.hh"
-#include "killing-cons.tcc"
+#include "translator-def.hh"
Simultaneous_music_iterator::Simultaneous_music_iterator ()
/* if separate_contexts_b_ is set, create a new context with the
number number as name */
-
+
+ SCM name = unsmob_translator_def (report_to ()->definition_)->type_name_;
Translator_group * t = (j && separate_contexts_b_)
- ? report_to ()->find_create_translator (report_to ()->type_string_,
- to_string (j))
+ ? report_to ()->find_create_translator (name, to_string (j))
: report_to ();
if (!t)
void
Translator_def::set_acceptor (SCM name, bool add)
{
+ assert (gh_symbol_p (name));
if (add)
this->accepts_name_list_ = gh_cons (name, this->accepts_name_list_);
else
Link_array<Translator_def>
-Translator_def::path_to_acceptable_translator (SCM type_string, Music_output_def* odef) const
+Translator_def::path_to_acceptable_translator (SCM type_sym, Music_output_def* odef) const
{
- assert (gh_string_p (type_string));
+ assert (gh_symbol_p (type_sym));
Link_array<Translator_def> accepteds;
for (SCM s = accepts_name_list_; gh_pair_p (s); s = ly_cdr (s))
/*
don't check aliases, because \context Staff should not create RhythmicStaff.
*/
- if (gh_equal_p (accepteds[i]->type_name_, type_string))
+ if (gh_equal_p (accepteds[i]->type_name_, type_sym))
{
best_result.push (accepteds[i]);
return best_result;
Translator_def * g = accepteds[i];
Link_array<Translator_def> result
- = g->path_to_acceptable_translator (type_string, odef);
+ = g->path_to_acceptable_translator (type_sym, odef);
if (result.size () && result.size () < best_depth)
{
result.insert (g,0);
best_result = result;
+
+ /*
+ this following line was added in 1.9.3, but hsould've been
+ there all along... Let's hope it doesn't cause nightmares.
+ */
+ best_depth = result.size();
}
}
Translator_group *tg = dynamic_cast<Translator_group*> (g);
tg->output_def_ = md;
tg->definition_ = self_scm ();
- tg->type_string_ = ly_scm2string (type_name_);
/*
TODO: ugh. we're reversing CONSISTS_NAME_LIST_ here
}
Translator_group *
-Translator_group::find_existing_translator (String n, String id)
+Translator_group::find_existing_translator (SCM n, String id)
{
- if ((is_alias_b (n) && (id_string_ == id || id.empty_b ())) || n == "Current")
+ if ((is_alias_b (n) && (id_string_ == id || id.empty_b ())) || n == ly_symbol2scm ("Current"))
return this;
Translator_group* r = 0;
Translator_group*
-Translator_group::find_create_translator (String n, String id)
+Translator_group::find_create_translator (SCM n, String id)
{
Translator_group * existing = find_existing_translator (n,id);
if (existing)
return existing;
Link_array<Translator_def> path
- = unsmob_translator_def (definition_)->path_to_acceptable_translator (scm_makfrom0str ((char*)n.to_str0 ()), get_output_def ());
+ = unsmob_translator_def (definition_)->path_to_acceptable_translator (n, get_output_def ());
if (path.size ())
{
ret = daddy_trans_->find_create_translator (n,id);
else
{
- warning (_f ("can't find or create `%s' called `%s'", n, id));
+ warning (_f ("can't find or create `%s' called `%s'", ly_symbol2string (n).to_str0 (), id));
ret =0;
}
return ret;
bool
Translator_group::is_bottom_translator_b () const
{
- return !gh_string_p (unsmob_translator_def (definition_)->default_child_context_name ());
+ return !gh_symbol_p (unsmob_translator_def (definition_)->default_child_context_name ());
}
Translator_group*
{
return properties_dict()->to_alist();
}
-
+
+String
+Translator_group::context_name () const
+{
+ Translator_def * td = unsmob_translator_def (definition_ );
+ return ly_symbol2string (td->type_name_);
+}
Translator_group* tr= dynamic_cast<Translator_group*> ( unsmob_translator (context));
SCM_ASSERT_TYPE(tr, context, SCM_ARG1, __FUNCTION__, "context");
- SCM_ASSERT_TYPE(gh_string_p (name), name, SCM_ARG2, __FUNCTION__, "string");
-
- String s = ly_scm2string (name);
+ SCM_ASSERT_TYPE(gh_symbol_p (name), name, SCM_ARG2, __FUNCTION__, "symbol");
while (tr)
{
- if (tr->is_alias_b (s))
+ if (tr->is_alias_b (name))
return tr->self_scm();
tr = tr->daddy_trans_ ;
}
self_scm_ = SCM_EOL;
init ();
output_def_ = s.output_def_;
- type_string_ = s.type_string_;
smobify_self ();
}
bool
-Translator::is_alias_b (String s) const
+Translator::is_alias_b (SCM sym) const
{
- bool b = s == type_string_;
+ Translator_def * td = unsmob_translator_def (definition_);
+ bool b = (sym == td->type_name_);
- for (SCM a = unsmob_translator_def (definition_)->type_aliases_;
- !b && gh_pair_p (a); a = ly_cdr (a))
- b = b || s == ly_scm2string (ly_car (a));
+ for (SCM a = td->type_aliases_; !b && gh_pair_p (a); a = ly_cdr (a))
+ b = b || sym == ly_car (a);
return b;
}
IMPLEMENT_SMOBS (Translator);
IMPLEMENT_DEFAULT_EQUAL_P (Translator);
IMPLEMENT_TYPE_P(Translator,"ly:translator?");
+
}
% dynamic ly:dir? text script, articulation script ly:dir?
-oneVoice = #(context-spec-music (make-voice-props-revert) "Voice")
-voiceOne = #(context-spec-music (make-voice-props-set 0) "Voice")
-voiceTwo = #(context-spec-music (make-voice-props-set 1) "Voice")
-voiceThree =#(context-spec-music (make-voice-props-set 2) "Voice")
-voiceFour = #(context-spec-music (make-voice-props-set 3) "Voice")
+oneVoice = #(context-spec-music (make-voice-props-revert) 'Voice)
+voiceOne = #(context-spec-music (make-voice-props-set 0) 'Voice)
+voiceTwo = #(context-spec-music (make-voice-props-set 1) 'Voice)
+voiceThree =#(context-spec-music (make-voice-props-set 2) 'Voice)
+voiceFour = #(context-spec-music (make-voice-props-set 3) 'Voice)
tiny =
(music-property-description 'bass boolean? "Set if this note is a bass note in a chord")
(music-property-description 'cautionary boolean? "If set, this alteration needs cautionary accidental")
(music-property-description 'change-to-id string? "name of the context to change to ")
-(music-property-description 'change-to-type string? "type of the context to change to.")
+(music-property-description 'change-to-type symbol? "type of the context to change to.")
(music-property-description 'compress-procedure procedure? "compress this music expression. Argument 1: the music, arg 2: factor")
(music-property-description 'context-id string? "name of context")
-(music-property-description 'context-type string? "type of context")
+(music-property-description 'context-type symbol? "type of context")
(music-property-description 'denominator integer? "denominator in a time signature")
(music-property-description 'digit integer? "digit for fingering")
(music-property-description 'direction ly:dir? "Print this up or down?")
(music-property-description 'tremolo-type integer? "")
(music-property-description 'value scheme? "Assignment value for a
translation property")
-(music-property-description 'what string? "What to change for auto-change. FIXME, naming")
+(music-property-description 'what symbol? "What to change for auto-change. FIXME, naming")
(music-property-description 'figure string? "a `figure' (which may be
a string) for figured bass")
)
(define (make-head-type t)
- (context-spec-music (make-head-type-elem t) "Thread"))
+ (context-spec-music (make-head-type-elem t) 'Thread))
(define (make-thread-context thread-name element)
- (context-spec-music element "Thread" thread-name))
+ (context-spec-music element 'Thread thread-name))
;; makes a sequential-music of thread-context, head-change and note
(define (make-drum-head kit req-ch )
))))
(ly:set-mus-property! m 'procedure ottava-modify)
- (context-spec-music m "Staff")
+ (context-spec-music m 'Staff)
))
(define-public (set-octavation ottavation)
(basic (list set1 set2 set3 set4)))
(context-spec-music
- (make-sequential-music basic) "Timing")))
+ (make-sequential-music basic) 'Timing)))
(define-public (set-time-signature num den . rest)
(ly:export (apply make-time-signature-set `(,num ,den . ,rest))))
(make-voice-props-set number)
(make-simultaneous-music (car lst))))
- "Voice" (number->string number))
+ 'Voice (number->string number))
(voicify-list (cdr lst) (+ number 1))
))
)
)
(ly:set-context-property! where 'graceSettings new-settings)))
- (ly:export (context-spec-music (make-apply-context set-prop) "Voice")))
+ (ly:export (context-spec-music (make-apply-context set-prop) 'Voice)))
(define-public (set-start-grace-properties context)
def conv (str):
str = re.sub ('accacciatura',
'acciaccatura', str)
+
+ if re.search ("context-spec-music"):
+ sys.stderr.write ("context-spec-music takes a symbol for the context now. Update by hand."
+ raise FatalConversionError()
+
return str
conversions.append (((1,9,3), conv, """\acciaccatura misspelling"""))
#!@PYTHON@
#
-# ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+# lilypond.py -- Run LilyPond, add titles to bare score, generate printable
# document
# Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
#
# (c) 1998--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
# Jan Nieuwenhuizen <janneke@gnu.org>
-# This is the third incarnation of ly2dvi.
+# This is the third incarnation of ly2dvi, now renamed lilypond.
#
# Earlier incarnations of ly2dvi were written by
# Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
'''
TODO:
- * figure out which set of command line options should make ly2dvi:
+ * figure out which set of command line options should make lilypond:
na: create tex only?
na: create latex only?
etc.
- * for foo.ly, rename ly2dvi.dir to out-ly2dvi, foo.ly2dvi, foo.dir ?
-
* move versatile taglines,
\header {
global re;re = ly.re
# lilylib globals
-program_name = 'ly2dvi'
+program_name = 'lilypond'
program_version = '@TOPLEVEL_VERSION@'
verbose_p = 0
pseudo_filter_p = 0