2004-04-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/lexer.ll: change is_string -> ly_c_string_p
+
* input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): use \book.
* input/mutopia/W.A.Mozart/mozart-hrn-3.ly: use \book.
set_property_on_children (Context * trans, const char * sym, SCM val)
{
trans->set_property (sym, val);
- for (SCM p = trans->children_contexts (); is_pair (p); p = ly_cdr (p))
+ for (SCM p = trans->children_contexts (); ly_c_pair_p (p); p = ly_cdr (p))
{
Context *trg = unsmob_context (ly_car (p));
set_property_on_children (trg, sym, ly_deep_copy (val));
prev = scm_assoc (scm_cons (scm_int2num (o), scm_int2num (n)), sig);
/* should really be true unless prev == SCM_BOOL_F */
- if (is_pair (prev) && is_pair (ly_cdr (prev)))
+ if (ly_c_pair_p (prev) && ly_c_pair_p (ly_cdr (prev)))
{
accbarnum_i = ly_scm2int (ly_cddr (prev));
prev = scm_cons (ly_car (prev), ly_cadr (prev));
int number = 0;
*different = false;
- if (is_pair (accidentals) && !is_symbol (ly_car (accidentals)))
+ if (ly_c_pair_p (accidentals) && !is_symbol (ly_car (accidentals)))
warning (_f ("Accidental typesetting list must begin with context-name: %s",
ly_scm2string (ly_car (accidentals)).to_str0 ()));
- for (; is_pair (accidentals) && origin; accidentals = ly_cdr (accidentals))
+ for (; ly_c_pair_p (accidentals) && origin; accidentals = ly_cdr (accidentals))
{
// If pair then it is a new accidentals typesetting rule to be checked
SCM rule = ly_car (accidentals);
- if (is_pair (rule))
+ if (ly_c_pair_p (rule))
{
SCM type = ly_car (rule);
SCM lazyness = ly_cdr (rule);
Link_array<Grob> *break_reminder,
Link_array<Grob> *real_acc)
{
- for (SCM acs =accs->get_property ("accidental-grobs"); is_pair (acs);
+ for (SCM acs =accs->get_property ("accidental-grobs"); ly_c_pair_p (acs);
acs =ly_cdr (acs))
- for (SCM s = ly_cdar (acs); is_pair (s); s = ly_cdr (s))
+ for (SCM s = ly_cdar (acs); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *a = unsmob_grob (ly_car (s));
Y-position, they share an Ape, and will be printed in overstrike.
*/
Link_array<Accidental_placement_entry> apes;
- for (SCM s = accs; is_pair (s); s =ly_cdr (s))
+ for (SCM s = accs; ly_c_pair_p (s); s =ly_cdr (s))
{
Accidental_placement_entry *ape = new Accidental_placement_entry;
ape->notename_ = ly_scm2int (ly_caar (s));
- for (SCM t = ly_cdar (s); is_pair (t); t =ly_cdr (t))
+ for (SCM t = ly_cdar (s); ly_c_pair_p (t); t =ly_cdr (t))
ape->grobs_.push (unsmob_grob (ly_car (t)));
apes.push (ape);
Stencil mol;
for (SCM s = me->get_property ("accidentals");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
int alteration = ly_scm2int (ly_car (s));
String font_char = get_fontcharname (style, alteration);
(SCM name),
"Load the font @var{name}. ")
{
- SCM_ASSERT_TYPE (is_string (name), name, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (name), name, SCM_ARG1, __FUNCTION__, "string");
Font_metric * fm = all_fonts_global->find_font (ly_scm2string (name));
key_signature);
/* should really be true unless prev == SCM_BOOL_F */
- if (is_pair (prev) && is_pair (ly_cdr (prev)))
+ if (ly_c_pair_p (prev) && ly_c_pair_p (ly_cdr (prev)))
{
prev = scm_cons (ly_car (prev), ly_cadr (prev));
}
Grob *me = unsmob_grob (smob);
Grob * common = me;
- for (SCM s = me->get_property ("stems"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("stems"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * stem = unsmob_grob (ly_car (s));
common = common->common_refpoint (Staff_symbol_referencer::get_staff_symbol (stem),
Interval heads;
Real my_y = me->relative_coordinate (common, Y_AXIS);
- for (SCM s = me->get_property ("stems"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("stems"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * stem = unsmob_grob (ly_car (s));
Grob * ss = Staff_symbol_referencer::get_staff_symbol (stem);
Grob *me = unsmob_grob (smob);
Grob * common = me;
- for (SCM s = me->get_property ("stems"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("stems"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * stem = unsmob_grob (ly_car (s));
common = common->common_refpoint (Staff_symbol_referencer::get_staff_symbol (stem),
Interval heads;
Real my_y = me->relative_coordinate (common, Y_AXIS);
- for (SCM s = me->get_property ("stems"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("stems"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * stem = unsmob_grob (ly_car (s));
Grob * ss = Staff_symbol_referencer::get_staff_symbol (stem);
void
Auto_beam_engraver::process_music ()
{
- if (is_string (get_property ("whichBar")))
+ if (ly_c_string_p (get_property ("whichBar")))
{
consider_end (shortest_mom_);
junk_beam ();
Moment now = get_outlet ()->now_mom ();
Moment *splitm = 0;
- for (; is_pair (split_list_); split_list_ = ly_cdr (split_list_))
+ for (; ly_c_pair_p (split_list_); split_list_ = ly_cdr (split_list_))
{
splitm = unsmob_moment (ly_caar (split_list_));
if ((*splitm + start_moment_) > now)
Axis_group_interface::relative_group_extent (Axis a, Grob *common, SCM elts)
{
Interval r;
- for (SCM s = elts; is_pair (s); s = ly_cdr (s))
+ for (SCM s = elts; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * se = unsmob_grob (ly_car (s));
Interval dims = se->extent (common, a);
SCM axes = me->get_property ("axes");
- if (!is_pair (axes)
+ if (!ly_c_pair_p (axes)
|| scm_c_memq (sa1, axes) == SCM_BOOL_F
|| scm_c_memq (sa2, axes) == SCM_BOOL_F)
{
if (!has_interface (me))
return childs;
- for (SCM ep = me->get_property ("elements"); is_pair (ep); ep = ly_cdr (ep))
+ for (SCM ep = me->get_property ("elements"); ly_c_pair_p (ep); ep = ly_cdr (ep))
{
Grob* e = unsmob_grob (ly_car (ep));
if (e)
void
Bar_engraver::process_acknowledged_grobs ()
{
- if (!bar_ && is_string (get_property ("whichBar")))
+ if (!bar_ && ly_c_string_p (get_property ("whichBar")))
{
create_bar ();
}
SCM s = me->get_property ("glyph");
SCM barsiz_proc = me->get_property ("bar-size-procedure");
- if (is_string (s) && is_procedure (barsiz_proc))
+ if (ly_c_string_p (s) && is_procedure (barsiz_proc))
{
String str =ly_scm2string (s);
SCM siz = scm_call_1 (barsiz_proc, me->self_scm ());
SCM g = me->get_property ("glyph");
SCM orig = g;
Direction bsd = item->break_status_dir ();
- if (is_string (g) && bsd)
+ if (ly_c_string_p (g) && bsd)
{
SCM proc = me->get_property ("break-glyph-function");
g = scm_call_2 (proc, g, scm_int2num (bsd));
}
- if (!is_string (g))
+ if (!ly_c_string_p (g))
{
me->set_property ("print-function", SCM_EOL);
me->set_extent (SCM_EOL, X_AXIS);
SCM wb = get_property ("whichBar");
- if (is_string (wb))
+ if (ly_c_string_p (wb))
{
SCM smp = get_property ("measurePosition");
#if DEBUG_QUANTING
SCM inspect_quants = me->get_property ("inspect-quants");
if (debug_beam_quanting_flag
- && is_pair (inspect_quants))
+ && ly_c_pair_p (inspect_quants))
{
Drul_array<Real> ins = ly_scm2interval (inspect_quants);
Beam::get_beam_count (Grob *me)
{
int m = 0;
- for (SCM s = me->get_property ("stems"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("stems"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *stem = unsmob_grob (ly_car (s));
m = m >? (Stem::beam_multiplicity (stem).length () + 1);
(i - lslice[left_dir])* left_dir <= 0 ; i+= left_dir)
{
int count =0;
- for ( SCM s = ly_car (right_beaming); is_pair (s); s = ly_cdr (s))
+ for ( SCM s = ly_car (right_beaming); ly_c_pair_p (s); s = ly_cdr (s))
{
int k = - right_dir * ly_scm2int (ly_car (s)) + i;
if (scm_c_memq (scm_int2num (k), left_beaming) != SCM_BOOL_F)
SCM this_beaming = this_stem->get_property ("beaming");
Direction this_dir = get_grob_direction (this_stem);
- if (is_pair (last_beaming) && is_pair (this_beaming))
+ if (ly_c_pair_p (last_beaming) && ly_c_pair_p (this_beaming))
{
int start_point = position_with_maximal_common_beams
(last_beaming, this_beaming,
new_slice.set_empty ();
SCM s = index_get_cell (this_beaming, d);
- for (; is_pair (s); s = ly_cdr (s))
+ for (; ly_c_pair_p (s); s = ly_cdr (s))
{
int new_beam_pos =
start_point - this_dir * ly_scm2int (ly_car (s));
{
scm_set_car_x ( this_beaming, SCM_EOL);
SCM s = ly_cdr (this_beaming);
- for (; is_pair (s); s = ly_cdr (s))
+ for (; ly_c_pair_p (s); s = ly_cdr (s))
{
int np = - this_dir * ly_scm2int (ly_car (s));
scm_set_car_x (s, scm_int2num (np));
Array<int> rfliebertjes;
for (SCM s = left;
- is_pair (s); s =ly_cdr (s))
+ ly_c_pair_p (s); s =ly_cdr (s))
{
int b = ly_scm2int (ly_car (s));
if (scm_c_memq (ly_car (s), right) != SCM_BOOL_F)
}
}
for (SCM s = right;
- is_pair (s); s =ly_cdr (s))
+ ly_c_pair_p (s); s =ly_cdr (s))
{
int b = ly_scm2int (ly_car (s));
if (scm_c_memq (ly_car (s), left) == SCM_BOOL_F)
#if (DEBUG_QUANTING)
SCM quant_score = me->get_property ("quant-score");
if (debug_beam_quanting_flag
- && is_string (quant_score))
+ && ly_c_string_p (quant_score))
{
/*
{
// one wonders if such genericity is necessary --hwn.
SCM callbacks = me->get_property ("position-callbacks");
- for (SCM i = callbacks; is_pair (i); i = ly_cdr (i))
+ for (SCM i = callbacks; ly_c_pair_p (i); i = ly_cdr (i))
scm_call_1 (ly_car (i), me->self_scm ());
}
{
Slice l;
- for ( SCM s = ly_car (beaming); is_pair (s) ; s = ly_cdr (s))
+ for ( SCM s = ly_car (beaming); ly_c_pair_p (s) ; s = ly_cdr (s))
{
if (scm_c_memq (ly_car (s), ly_cdr (beaming)) != SCM_BOOL_F)
Drul_array<Real> pos (0, 0);
SCM s = beam->get_property ("positions");
- if (is_pair (s) && is_number (ly_car (s)))
+ if (ly_c_pair_p (s) && is_number (ly_car (s)))
pos = ly_scm2interval (s);
Real staff_space = Staff_symbol_referencer::staff_space (rest);
bool knee = false;
int d = 0;
- for (SCM s = me->get_property ("stems"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("stems"); ly_c_pair_p (s); s = ly_cdr (s))
{
Direction dir = get_grob_direction (unsmob_grob (ly_car (s)));
if (d && d != dir)
void
Break_align_engraver::stop_translation_timestep ()
{
- for (SCM p = column_alist_; is_pair (p); p = ly_cdr (p))
+ for (SCM p = column_alist_; ly_c_pair_p (p); p = ly_cdr (p))
{
SCM pair = ly_car (p);
add_column (ly_cdr (pair));
Copy in order specified in BREAK-ALIGN-ORDER.
*/
Link_array<Grob> new_elts;
- for (; is_pair (order); order = ly_cdr (order))
+ for (; ly_c_pair_p (order); order = ly_cdr (order))
{
SCM sym = ly_car (order);
- for (SCM s =elts; is_pair (s); s = ly_cdr (s))
+ for (SCM s =elts; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *g = unsmob_grob (ly_car (s));
if (g && sym == g->get_property ("break-align-symbol"))
Find the first grob with a space-alist entry.
*/
for (SCM s = l->get_property ("elements");
- is_pair (s) ; s = ly_cdr (s))
+ ly_c_pair_p (s) ; s = ly_cdr (s))
{
Grob *elt = unsmob_grob (ly_car (s));
edge_idx = idx;
SCM l =elt->get_property ("space-alist");
- if (is_pair (l))
+ if (ly_c_pair_p (l))
{
alist= l;
break;
reason.
*/
for (SCM s = r ? r->get_property ("elements") : SCM_EOL;
- !is_symbol (rsym) && is_pair (s); s = ly_cdr (s))
+ !is_symbol (rsym) && ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * elt =unsmob_grob (ly_car (s));
if (is_symbol (rsym))
entry = scm_assq (rsym, alist);
- bool entry_found = is_pair (entry);
+ bool entry_found = ly_c_pair_p (entry);
if (!entry_found)
{
String sym_string;
do_break_substitution (scm_vector_ref (src, si)));
}
}
- else if (is_pair (src))
+ else if (ly_c_pair_p (src))
{
/*
UGH! breaks on circular lists.
SCM oldcdr = ly_cdr (src);
if (newcar == SCM_UNDEFINED
- && (is_pair (oldcdr) || oldcdr == SCM_EOL))
+ && (ly_c_pair_p (oldcdr) || oldcdr == SCM_EOL))
{
/*
This is tail-recursion, ie.
SCM l = SCM_EOL;
SCM * tail = &l;
- for (SCM s = grob_list; is_pair (s); s = ly_cdr (s))
+ for (SCM s = grob_list; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM n= substitute_grob (unsmob_grob (ly_car (s)));
int sp_index = len;
int it_index = 0;
- for (SCM s = grob_list; is_pair (s); s = ly_cdr (s))
+ for (SCM s = grob_list; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * g = unsmob_grob (ly_car (s));
SCM l = SCM_EOL;
SCM *tail = &l;
- for (SCM s = alist; is_pair (s); s = ly_cdr (s))
+ for (SCM s = alist; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM sym = ly_caar (s);
SCM val = ly_cdar (s);
chord_name_->set_property ("text", markup);
announce_grob (chord_name_, notes_[0]->self_scm ());
SCM s = get_property ("chordChanges");
- if (to_boolean (s) && is_pair (last_chord_)
+ if (to_boolean (s) && ly_c_pair_p (last_chord_)
&& is_equal (chord_as_scm, last_chord_))
chord_name_->set_property ("begin-of-line-visible", SCM_BOOL_T);
if (item)
{
if (Bar_line::has_interface (info.grob_)
- && is_string (get_property ("clefGlyph")))
+ && ly_c_string_p (get_property ("clefGlyph")))
create_clef ();
}
}
SCM glyph = s->get_property ("glyph-name");
- if (is_string (glyph))
+ if (ly_c_string_p (glyph))
{
String str = ly_scm2string (glyph);
{
Grob *me = unsmob_grob (smob);
SCM glyph_scm = me->get_property ("glyph-name");
- if (!is_string (glyph_scm))
+ if (!ly_c_string_p (glyph_scm))
return SCM_EOL;
String glyph = String (ly_scm2string (glyph_scm));
Grob *commonx = left_bound->common_refpoint (right_bound, X_AXIS);
SCM cols =me->get_property ("columns");
- if (!is_pair (cols))
+ if (!ly_c_pair_p (cols))
{
me->warning ("junking empty cluster");
me->suicide ();
line with the center of the note heads?
*/
- for (SCM s = cols; is_pair (s); s = ly_cdr (s))
+ for (SCM s = cols; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * col = unsmob_grob (ly_car (s));
Interval yext = col->extent (commony, Y_AXIS);
{
Spanner * next = orig->broken_intos_[spanner->get_break_index () + 1];
SCM cols = next->get_property ("columns");
- if (is_pair (cols))
+ if (ly_c_pair_p (cols))
{
Grob *next_commony = common_refpoint_of_list (cols, next, Y_AXIS);
Grob * col = unsmob_grob (ly_car (scm_last_pair (cols)));
// also for all associated grobs (NoteSpacing, SeparationItem).
Grob *sl = Staff_symbol_referencer::get_staff_symbol (item);
for (SCM tail = parent->get_property ("elements");
- is_pair (tail);
+ ly_c_pair_p (tail);
tail = ly_cdr (tail))
{
Item *sibling = unsmob_item (ly_car (tail));
}
SCM sym = ly_cadr (mod);
- if (is_string (sym))
+ if (ly_c_string_p (sym))
sym = scm_string_to_symbol (sym);
if (ly_symbol2scm ("consists") == tag
SCM mods = scm_reverse_x (scm_list_copy (accept_mods_),
user_mod);
SCM acc = SCM_EOL;
- for (SCM s = mods; is_pair (s); s = ly_cdr (s))
+ for (SCM s = mods; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM tag = ly_caar (s);
SCM sym = ly_cadar (s);
SCM accepted = get_accepted (SCM_EOL);
Link_array<Context_def> accepteds;
- for (SCM s = accepted; is_pair (s); s = ly_cdr (s))
+ for (SCM s = accepted; ly_c_pair_p (s); s = ly_cdr (s))
{
Context_def *t = unsmob_context_def (odef->find_context_def (ly_car (s)));
if (!t)
SCM mods = scm_reverse_x (scm_list_copy (translator_mods_),
user_mod);
- for (SCM s = mods; is_pair (s); s = ly_cdr (s))
+ for (SCM s = mods; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM tag = ly_caar (s);
SCM arg = ly_cadar (s);
- if (is_string (arg))
+ if (ly_c_string_p (arg))
arg = scm_string_to_symbol (arg);
if (ly_symbol2scm ("consists") == tag)
SCM
filter_performers (SCM l)
{
- for (SCM *tail = &l; is_pair (*tail); tail = SCM_CDRLOC (*tail))
+ for (SCM *tail = &l; ly_c_pair_p (*tail); tail = SCM_CDRLOC (*tail))
{
if (dynamic_cast<Performer*> (unsmob_translator (ly_car (*tail))))
{
SCM
filter_engravers (SCM l)
{
- for (SCM *tail = &l; is_pair (*tail) ; tail = SCM_CDRLOC (*tail))
+ for (SCM *tail = &l; ly_c_pair_p (*tail) ; tail = SCM_CDRLOC (*tail))
{
if (dynamic_cast<Engraver*> (unsmob_translator (ly_car (*tail))))
{
g->simple_trans_list_ = SCM_EOL;
- for (SCM s = trans_names; is_pair (s) ; s = ly_cdr (s))
+ for (SCM s = trans_names; ly_c_pair_p (s) ; s = ly_cdr (s))
{
Translator * t = get_translator (ly_car (s));
if (!t)
String c_id;
SCM ci = get_music ()->get_property ("context-id");
- if (is_string (ci))
+ if (ly_c_string_p (ci))
c_id = ly_scm2string (ci);
SCM ops = get_music ()->get_property ("property-operations");
void
Context::check_removal ()
{
- for (SCM p = context_list_; is_pair (p); p = ly_cdr (p))
+ for (SCM p = context_list_; ly_c_pair_p (p); p = ly_cdr (p))
{
Context *trg = unsmob_context (ly_car (p));
SCM
Context::default_child_context_name () const
{
- return is_pair (accepts_list_)
+ return ly_c_pair_p (accepts_list_)
? ly_car (scm_last_pair (accepts_list_))
: SCM_EOL;
}
Context::is_alias (SCM sym) const
{
if (sym == ly_symbol2scm ("Bottom")
- && !is_pair (accepts_list_))
+ && !ly_c_pair_p (accepts_list_))
return true;
if (sym == unsmob_context_def (definition_)->get_context_name ())
return true;
Context * found = 0;
for (SCM s = where->children_contexts ();
- !found && is_pair (s); s = ly_cdr (s))
+ !found && ly_c_pair_p (s); s = ly_cdr (s))
{
Context * tr = unsmob_context (ly_car (s));
void
Custos_engraver::process_acknowledged_grobs ()
{
- if (is_string (get_property ("whichBar")))
+ if (ly_c_string_p (get_property ("whichBar")))
custos_permitted = true;
if (custos_permitted)
if (scm_hash_table_p (tab) == SCM_BOOL_T)
defn = scm_hashq_ref (tab, drum_type, SCM_EOL);
- if (is_pair (defn))
+ if (ly_c_pair_p (defn))
{
SCM pos = ly_caddr (defn);
SCM style =ly_car (defn);
if (is_symbol (style))
note->set_property ("style", style);
- if (is_string (script))
+ if (ly_c_string_p (script))
{
Item *p = make_item ("Script");
SCM desc = SCM_EOL;
/*
FIXME: use get_markup () to check type.
*/
- if (is_string (s) || is_pair (s))
+ if (ly_c_string_p (s) || ly_c_pair_p (s))
{
cresc_->set_property ("edge-text",
scm_cons (s, scm_makfrom0str ("")));
if (script_ && !script_->get_parent (X_AXIS))
{
SCM head = scm_last_pair (i.grob_->get_property ("note-heads"));
- if (is_pair (head))
+ if (ly_c_pair_p (head))
script_->set_parent (unsmob_grob (ly_car (head)), X_AXIS);
}
*/
SCM s = get_property ("midiInstrument");
- if (!is_string (s))
+ if (!ly_c_string_p (s))
s = get_property ("instrument");
- if (!is_string (s))
+ if (!ly_c_string_p (s))
s = scm_makfrom0str ("piano");
SCM meta = info.grob_->internal_get_property (meta_sym);
SCM nm = scm_assoc (name_sym, meta);
- if (is_pair (nm))
+ if (ly_c_pair_p (nm))
nm = ly_cdr (nm);
else
{
scm_hashq_set_x (tab, nm, acklist);
}
- for (SCM p = acklist; is_pair (p); p = ly_cdr (p))
+ for (SCM p = acklist; ly_c_pair_p (p); p = ly_cdr (p))
{
Translator * t = unsmob_translator (ly_car (p));
Engraver * eng = dynamic_cast<Engraver*> (t);
{
SCM ack_ifs = scm_assoc (ly_symbol2scm ("interfaces-acked"), tr->translator_description ());
ack_ifs = ly_cdr (ack_ifs);
- for (SCM s = ifaces; is_pair (s); s = ly_cdr (s))
+ for (SCM s = ifaces; ly_c_pair_p (s); s = ly_cdr (s))
if (scm_c_memq (ly_car (s), ack_ifs) != SCM_BOOL_F)
return true;
return false;
SCM ifaces = ly_cdr (scm_assoc (ly_symbol2scm ("interfaces"), meta_alist));
SCM l = SCM_EOL;
- for (SCM s = gravlist; is_pair (s); s = ly_cdr (s))
+ for (SCM s = gravlist; ly_c_pair_p (s); s = ly_cdr (s))
{
Translator* tr = unsmob_translator (ly_car (s));
if (engraver_valid (tr, ifaces))
(tg->*ptr) ();
}
- for (SCM s = c->children_contexts () ; is_pair (s);
+ for (SCM s = c->children_contexts () ; ly_c_pair_p (s);
s =ly_cdr (s))
{
recurse_down_engravers (unsmob_context (ly_car (s)), ptr, context_first);
void
engraver_each (SCM list, Engraver_method method)
{
- for (SCM p = list; is_pair (p); p = ly_cdr (p))
+ for (SCM p = list; ly_c_pair_p (p); p = ly_cdr (p))
{
Engraver * e = dynamic_cast<Engraver*>(unsmob_translator (ly_car (p)));
if (e)
if (last_processed_mom_ < Moment (0))
{
for (SCM s = dynamic_cast<Music_sequence *> (get_music ())->music_list ();
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Music *mus = unsmob_music (ly_car (s));
SCM newlist = SCM_EOL;
Pitch *p = unsmob_pitch (pit);
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM key = ly_caar (s);
SCM alter = ly_cdar (s);
- if (is_pair (key))
+ if (ly_c_pair_p (key))
{
Pitch orig (ly_scm2int (ly_car (key)),
ly_scm2int (ly_cdr (key)),
alist_equal_p (SCM a, SCM b)
{
for (SCM s = a;
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
SCM key = ly_caar (s);
SCM val = ly_cdar (s);
if (!sp->get_bound (RIGHT))
{
SCM heads = sp->get_property ("heads");
- if (is_pair (heads))
+ if (ly_c_pair_p (heads))
{
Item* it = dynamic_cast<Item*> (unsmob_grob (ly_car (heads)));
if (it)
{
Font_metric *fm = unsmob_metrics (font);
SCM_ASSERT_TYPE (fm, font, SCM_ARG1, __FUNCTION__, "font-metric");
- SCM_ASSERT_TYPE (is_string (name), name, SCM_ARG2, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (name), name, SCM_ARG2, __FUNCTION__, "string");
Stencil m = fm->find_by_name (ly_scm2string (name));
Modified_font_metric*fm = dynamic_cast<Modified_font_metric*>
(unsmob_metrics (font));
SCM_ASSERT_TYPE (fm, font, SCM_ARG1, __FUNCTION__, "modified font metric");
- SCM_ASSERT_TYPE (is_string (text), text, SCM_ARG2, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (text), text, SCM_ARG2, __FUNCTION__, "string");
b = fm->text_dimension (ly_scm2string (text));
{
SCM name = ly_assoc_chain (ly_symbol2scm ("font-name"), chain);
- if (!is_pair (name) || !is_string (ly_cdr (name)))
+ if (!ly_c_pair_p (name) || !ly_c_string_p (ly_cdr (name)))
{
SCM fonts = paper->lookup_variable (ly_symbol2scm ("fonts"));
name = properties_to_font_size_family (fonts, chain);
else
name = ly_cdr (name);
- if (is_string (name))
+ if (ly_c_string_p (name))
{
SCM mag = ly_assoc_chain (ly_symbol2scm ("font-magnification"), chain);
- Real rmag = is_pair (mag) ? robust_scm2double (ly_cdr (mag), 1.0) : 1;
+ Real rmag = ly_c_pair_p (mag) ? robust_scm2double (ly_cdr (mag), 1.0) : 1;
Font_metric * fm = all_fonts_global->find_font (ly_scm2string (name));
SCM font_size = ly_assoc_chain (ly_symbol2scm ("font-size"), chain);
Real req = 0.0;
- if (is_pair (font_size))
+ if (ly_c_pair_p (font_size))
req = ly_scm2double (ly_cdr (font_size));
return get_font_by_mag_step (paper, req,
SCM busy = get_property ("busyGrobs");
Moment now = now_mom ();
- while (is_pair (busy) && unsmob_moment (ly_caar (busy))->main_part_ == now.main_part_)
+ while (ly_c_pair_p (busy) && unsmob_moment (ly_caar (busy))->main_part_ == now.main_part_)
busy = ly_cdr (busy);
- while (is_pair (busy))
+ while (ly_c_pair_p (busy))
{
Grob *g = unsmob_grob (ly_cdar (busy));
if (Rhythmic_head::has_interface (g))
Score_context*
Global_context::get_score_context () const
{
- return (is_pair (context_list_))
+ return (ly_c_pair_p (context_list_))
? dynamic_cast<Score_context*> (unsmob_context (ly_car (context_list_)))
: 0;
}
{
SCM lst = get_property ("finalizations");
set_property ("finalizations" , SCM_EOL);
- for (SCM s = lst ; is_pair (s); s = ly_cdr (s))
+ for (SCM s = lst ; ly_c_pair_p (s); s = ly_cdr (s))
{
scm_primitive_eval (ly_car (s)); // TODO: make safe.
}
"Add an interface description.")
{
SCM_ASSERT_TYPE (is_symbol (a), a, SCM_ARG1, __FUNCTION__, "symbol");
- SCM_ASSERT_TYPE (is_string (b), b, SCM_ARG2, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (b), b, SCM_ARG2, __FUNCTION__, "string");
SCM_ASSERT_TYPE (is_list (c), c, SCM_ARG3, __FUNCTION__, "list of syms");
if (!is_vector (all_ifaces))
all_ifaces = scm_make_vector (scm_int2num (40), SCM_EOL);
SCM ifs = me->get_property ("interfaces");
bool found = false;
- for (; !found && is_pair (ifs); ifs =ly_cdr (ifs))
+ for (; !found && ly_c_pair_p (ifs); ifs =ly_cdr (ifs))
{
SCM iface = scm_hashq_ref (all_ifaces , ly_car (ifs), SCM_BOOL_F);
if (iface == SCM_BOOL_F)
Moment now = now_mom ();
SCM start_busy = get_property ("busyGrobs");
SCM busy = start_busy;
- while (is_pair (busy) && *unsmob_moment (ly_caar (busy)) == now)
+ while (ly_c_pair_p (busy) && *unsmob_moment (ly_caar (busy)) == now)
{
busy = ly_cdr (busy);
}
SCM start_busy = get_property ("busyGrobs");
SCM busy = start_busy;
- while (is_pair (busy) && *unsmob_moment (ly_caar (busy)) < now)
+ while (ly_c_pair_p (busy) && *unsmob_moment (ly_caar (busy)) < now)
{
/*
The grob-pq-engraver is not water tight, and stuff like
s = scm_sloppy_assq (sym, immutable_property_alist_);
- if (internal_type_checking_global_b && is_pair (s))
+ if (internal_type_checking_global_b && ly_c_pair_p (s))
{
if (!type_check_assignment (sym, ly_cdr (s),
ly_symbol2scm ("backend-type?")))
#endif
SCM meta = get_property ("meta");
- if (is_pair (meta))
+ if (ly_c_pair_p (meta))
{
SCM ifs = scm_assoc (ly_symbol2scm ("interfaces"), meta);
if (is_number_pair (xt))
cb = xt;
else if (cb != SCM_BOOL_F
- && !is_procedure (cb) && !is_pair (cb)
+ && !is_procedure (cb) && !ly_c_pair_p (cb)
&& is_procedure (get_property ("print-function")))
cb = stencil_extent_proc;
status_= busy;
- for (SCM d = get_property ("dependencies"); is_pair (d);
+ for (SCM d = get_property ("dependencies"); ly_c_pair_p (d);
d = ly_cdr (d))
{
unsmob_grob (ly_car (d))
because some Spanners have enormously long lists in their
properties.
*/
- for (SCM s = mutable_property_alist_; is_pair (s);
+ for (SCM s = mutable_property_alist_; ly_c_pair_p (s);
s = ly_cdr (s))
{
sp->substitute_one_mutable_property (ly_caar (s),
bool
Grob::is_empty (Axis a)const
{
- return ! (is_pair (dim_cache_[a].dimension_) ||
+ return ! (ly_c_pair_p (dim_cache_[a].dimension_) ||
is_procedure (dim_cache_[a].dimension_));
}
Dimension_cache * d = (Dimension_cache *)&dim_cache_[a];
Interval ext ;
- if (is_pair (d->dimension_))
+ if (ly_c_pair_p (d->dimension_))
;
else if (is_procedure (d->dimension_))
{
else
return ext;
- if (!is_pair (d->dimension_))
+ if (!ly_c_pair_p (d->dimension_))
return ext;
ext = ly_scm2interval (d->dimension_);
/*
signs ?
*/
- if (is_pair (extra))
+ if (ly_c_pair_p (extra))
{
ext[BIGGER] += ly_scm2double (ly_cdr (extra));
ext[SMALLER] += ly_scm2double (ly_car (extra));
extra = get_property (a == X_AXIS
? "minimum-X-extent"
: "minimum-Y-extent");
- if (is_pair (extra))
+ if (ly_c_pair_p (extra))
{
ext.unite (Interval (ly_scm2double (ly_car (extra)),
ly_scm2double (ly_cdr (extra))));
Grob *
common_refpoint_of_list (SCM elist, Grob *common, Axis a)
{
- for (; is_pair (elist); elist = ly_cdr (elist))
+ for (; ly_c_pair_p (elist); elist = ly_cdr (elist))
{
Grob * s = unsmob_grob (ly_car (elist));
if (!s)
{
SCM meta = get_property ("meta");
SCM nm = scm_assoc (ly_symbol2scm ("name"), meta);
- nm = (is_pair (nm)) ? ly_cdr (nm) : SCM_EOL;
+ nm = (ly_c_pair_p (nm)) ? ly_cdr (nm) : SCM_EOL;
return is_symbol (nm) ? ly_symbol2string (nm) : classname (this);
}
{
Link_array<Grob> arr;
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM e = ly_car (s);
arr.push (unsmob_grob (e));
{
Spanner*sp = dynamic_cast<Spanner*> (me);
SCM worth = me->get_property ("items-worth-living");
- if (is_pair (worth))
+ if (ly_c_pair_p (worth))
return ;
if (!to_boolean (me->get_property ("remove-first"))
if (!sp->get_bound (RIGHT))
{
SCM heads = sp->get_property ("heads");
- if (is_pair (heads))
+ if (ly_c_pair_p (heads))
{
Item* it = dynamic_cast<Item*> (unsmob_grob (ly_car (heads)));
if (it)
{
Link_array<T> arr;
- for (SCM s = elt->get_property (name); is_pair (s); s = ly_cdr (s))
+ for (SCM s = elt->get_property (name); ly_c_pair_p (s); s = ly_cdr (s))
{
SCM e = ly_car (s);
arr.push (dynamic_cast<T*> (unsmob_grob (e)));
{
return scm_acons(key, val, scm_assoc_remove_x (alist, key));
}
-inline bool is_pair (SCM x) { return SCM_NFALSEP (scm_pair_p (x)); }
+inline bool ly_c_pair_p (SCM x) { return SCM_NFALSEP (scm_pair_p (x)); }
inline bool is_symbol (SCM x) { return SCM_SYMBOLP (x); }
inline bool is_boolean (SCM x) { return SCM_BOOLP (x); }
inline bool is_char (SCM x) { return SCM_CHARP (x); }
inline bool is_number (SCM x) { return SCM_NUMBERP (x); }
-inline bool is_string (SCM x) { return SCM_STRINGP (x); }
+inline bool ly_c_string_p (SCM x) { return SCM_STRINGP (x); }
inline bool is_vector (SCM x) { return SCM_VECTORP (x); }
inline bool is_list (SCM x) { return SCM_NFALSEP (scm_list_p (x)); }
inline bool is_procedure (SCM x) { return SCM_NFALSEP (scm_procedure_p (x)); }
{
Input *ip = unsmob_input (sip);
SCM_ASSERT_TYPE (ip, sip, SCM_ARG1, __FUNCTION__, "input location");
- SCM_ASSERT_TYPE (is_string (msg), msg, SCM_ARG2, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (msg), msg, SCM_ARG2, __FUNCTION__, "string");
String m = ly_scm2string (msg);
ip->message (m);
Also create text if barlines in other groups. This allows
a name to be attached to lyrics or chords.
*/
- if (is_string (get_property ("whichBar")))
+ if (ly_c_string_p (get_property ("whichBar")))
create_text ();
}
}
}
else if (Bar_line::has_interface (info.grob_)
- && is_pair (get_property ("keySignature")))
+ && ly_c_pair_p (get_property ("keySignature")))
{
create_key (true);
}
Key_engraver::read_ev (Music const * r)
{
SCM p = r->get_property ("pitch-alist");
- if (!is_pair (p))
+ if (!ly_c_pair_p (p))
return;
SCM n = scm_list_copy (p);
SCM accs = SCM_EOL;
for (SCM s = get_property ("keyAccidentalOrder");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
- if (is_pair (scm_member (ly_car (s), n)))
+ if (ly_c_pair_p (scm_member (ly_car (s), n)))
{
accs = scm_cons (ly_car (s), accs);
n = scm_delete_x (ly_car (s), n);
}
}
- for (SCM s = n ; is_pair (s); s = ly_cdr (s))
+ for (SCM s = n ; ly_c_pair_p (s); s = ly_cdr (s))
if (ly_scm2int (ly_cdar (s)))
accs = scm_cons (ly_car (s), accs);
int
alteration_pos (SCM what, int alter, int c0p)
{
- if (is_pair (what))
+ if (ly_c_pair_p (what))
return ly_scm2int (ly_car (what)) * 7 + ly_scm2int (ly_cdr (what)) + c0p;
int p = ly_scm2int (what);
*/
Font_metric *fm = Font_interface::get_default_font (me);
- for (SCM s = newas; is_pair (s); s = ly_cdr (s))
+ for (SCM s = newas; ly_c_pair_p (s); s = ly_cdr (s))
{
int alteration = ly_scm2int (ly_cdar (s));
String font_char =
mol.add_at_edge (X_AXIS, LEFT, Lookup::blank (Box (x,y)), 0, 0);
Stencil natural;
- if (is_pair (old))
+ if (ly_c_pair_p (old))
natural=Font_interface::get_default_font (me)->
find_by_name (String ("accidentals-") + style + String ("0"));
- for (; is_pair (old); old = ly_cdr (old))
+ for (; ly_c_pair_p (old); old = ly_cdr (old))
{
SCM found = scm_assoc (ly_caar (old), newas);
if (found == SCM_BOOL_F
"Read the file @var{name}, and return its contents in a string. "
"The file is looked up using the search path and kpathsea.")
{
- SCM_ASSERT_TYPE (is_string (name), name, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (name), name, SCM_ARG1, __FUNCTION__, "string");
return scm_makfrom0str
(kpathsea_gulp_file_to_string (ly_scm2string (name)).to_str0 ());
}
s = s.left_string (s.length () - 1);
SCM sid = lookup_identifier (s);
- if (is_string (sid)) {
+ if (ly_c_string_p (sid)) {
new_input (ly_scm2string (sid), sources_);
yy_pop_state ();
} else {
String str (YYText () + 1);
SCM s = lookup_markup_command (str);
- if (is_pair (s) && is_symbol (ly_cdr (s)) ) {
+ if (ly_c_pair_p (s) && is_symbol (ly_cdr (s)) ) {
yylval.scm = ly_car(s);
SCM tag = ly_cdr(s);
if (tag == ly_symbol2scm("markup0"))
SCM sym = ly_symbol2scm (str.to_str0 ());
if ((YYSTATE == notes) || (YYSTATE == chords)) {
SCM handle = SCM_BOOL_F;
- if (is_pair (pitchname_tab_stack_))
+ if (ly_c_pair_p (pitchname_tab_stack_))
handle = scm_hashq_get_handle (ly_car (pitchname_tab_stack_), sym);
- if (is_pair (handle)) {
+ if (ly_c_pair_p (handle)) {
yylval.scm = ly_cdr (handle);
if (unsmob_pitch (yylval.scm))
return (YYSTATE == notes) ? NOTENAME_PITCH : TONICNAME_PITCH;
"Read the file @var{name}, and return its contents in a string. "
"The file is looked up using the search path.")
{
- SCM_ASSERT_TYPE (is_string (name), name, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (name), name, SCM_ARG1, __FUNCTION__, "string");
return scm_makfrom0str (gulp_file_to_string (ly_scm2string (name)).to_str0 ());
}
String
ly_scm2string (SCM s)
{
- assert (is_string (s));
+ assert (ly_c_string_p (s));
char *p = SCM_STRING_CHARS (s);
String r (p);
char *new_str;
size_t len;
- SCM_ASSERT_TYPE (is_string (str), str, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (str), str, SCM_ARG1, __FUNCTION__, "string");
len = SCM_STRING_LENGTH (str);
new_str = (char *) malloc ((len + 1) * sizeof (char));
LY_DEFINE (ly_warning,"ly:warn", 1, 0, 0,
(SCM str), "Scheme callable function to issue the warning @code{msg}.")
{
- SCM_ASSERT_TYPE (is_string (str), str, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (str), str, SCM_ARG1, __FUNCTION__, "string");
progress_indication ("\n");
warning ("lily-guile: " + ly_scm2string (str));
return SCM_BOOL_T;
bool
is_number_pair (SCM p)
{
- return is_pair (p) && is_number (ly_car (p)) && is_number (ly_cdr (p));
+ return ly_c_pair_p (p) && is_number (ly_car (p)) && is_number (ly_cdr (p));
}
typedef void (*Void_fptr) ();
SCM
ly_deep_copy (SCM src)
{
- if (is_pair (src))
+ if (ly_c_pair_p (src))
return scm_cons (ly_deep_copy (ly_car (src)), ly_deep_copy (ly_cdr (src)));
else if (is_vector (src))
{
SCM
ly_assoc_chain (SCM key, SCM achain)
{
- if (is_pair (achain))
+ if (ly_c_pair_p (achain))
{
SCM handle = scm_assoc (key, ly_car (achain));
- if (is_pair (handle))
+ if (ly_c_pair_p (handle))
return handle;
else
return ly_assoc_chain (key, ly_cdr (achain));
SCM
ly_assoc_cdr (SCM key, SCM alist)
{
- if (is_pair (alist))
+ if (ly_c_pair_p (alist))
{
SCM trykey = ly_caar (alist);
- if (is_pair (trykey) && to_boolean (scm_equal_p (key, ly_cdr (trykey))))
+ if (ly_c_pair_p (trykey) && to_boolean (scm_equal_p (key, ly_cdr (trykey))))
return ly_car (alist);
else
return ly_assoc_cdr (key, ly_cdr (alist));
{
SCM s = lst;
k--;
- for (; is_pair (s) && k--; s = ly_cdr (s))
+ for (; ly_c_pair_p (s) && k--; s = ly_cdr (s))
;
- if (is_pair (s))
+ if (ly_c_pair_p (s))
scm_set_cdr_x (s, SCM_EOL);
}
return lst;
ly_unique (SCM list)
{
SCM unique = SCM_EOL;
- for (SCM i = list; is_pair (i); i = ly_cdr (i))
+ for (SCM i = list; ly_c_pair_p (i); i = ly_cdr (i))
{
- if (!is_pair (ly_cdr (i))
+ if (!ly_c_pair_p (ly_cdr (i))
|| !is_equal (ly_car (i), ly_cadr (i)))
unique = scm_cons (ly_car (i), unique);
}
{
SCM before = SCM_EOL;
SCM after = list;
- for (; is_pair (after);)
+ for (; ly_c_pair_p (after);)
{
SCM i = ly_car (after);
after = ly_cdr (after);
SCM p = scm_current_output_port ();
scm_puts ("(", p);
- for (; is_pair (s); s =ly_cdr (s))
+ for (; ly_c_pair_p (s); s =ly_cdr (s))
{
scm_display (ly_car (s), p);
scm_puts (" ", p);
{
Slice s;
s.set_empty ();
- for (; is_pair (l); l = ly_cdr (l))
+ for (; ly_c_pair_p (l); l = ly_cdr (l))
if (is_number (ly_car (l)))
s.add_point (ly_scm2int (ly_car (l)));
return s;
SCM
robust_list_ref (int i, SCM l)
{
- while (i-- > 0 && is_pair (ly_cdr (l)))
+ while (i-- > 0 && ly_c_pair_p (ly_cdr (l)))
l = ly_cdr (l);
return ly_car (l);
}
return scm_make_vector (scm_int2num (0), SCM_EOL);
SCM tab = scm_make_vector (scm_int2num (i), SCM_EOL);
- for (SCM s = alist; is_pair (s); s = ly_cdr (s))
+ for (SCM s = alist; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM pt = ly_cdar (s);
scm_hashq_set_x (tab, ly_caar (s), pt);
SCM melisma_properties = tr->get_property ("melismaBusyProperties");
bool busy = false;
- for (; is_pair (melisma_properties);
+ for (; ly_c_pair_p (melisma_properties);
melisma_properties = ly_cdr (melisma_properties))
busy = busy || to_boolean (tr->internal_get_property (ly_car (melisma_properties)));
SCM grobs = tr->get_property ("busyGrobs");
Moment now = tr->now_mom ();
- for (; is_pair (grobs); grobs = ly_cdr (grobs))
+ for (; ly_c_pair_p (grobs); grobs = ly_cdr (grobs))
{
SCM grob = ly_cdar (grobs);
Moment end =*unsmob_moment (ly_caar (grobs));
Lyric_combine_music::get_music () const
{
SCM l = get_property ("elements");
- if (!is_pair (l))
+ if (!ly_c_pair_p (l))
return 0;
return unsmob_music (ly_car (l));
}
Lyric_combine_music::get_lyrics () const
{
SCM l = get_property ("elements");
- if (!is_pair (l))
+ if (!ly_c_pair_p (l))
return 0;
l = ly_cdr (l);
- if (!is_pair (l))
+ if (!ly_c_pair_p (l))
return 0;
return unsmob_music (ly_car (l));
}
SCM voice_name = lyrics->get_property ("associatedVoice");
String nm = lyrics->id_string_;
- if (is_string (voice_name))
+ if (ly_c_string_p (voice_name))
nm = ly_scm2string (voice_name);
else
{
get_current_note_head (Context * voice)
{
for (SCM s = voice->get_property ("busyGrobs");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Item*g = dynamic_cast<Item*> (unsmob_grob (ly_cdar (s)));
{
// FIXME: won't work with fancy lyrics
if (lreqs_.size ()
- && is_string (lreqs_[0]->get_property ("text"))
+ && ly_c_string_p (lreqs_[0]->get_property ("text"))
&& ly_scm2string (lreqs_[0]->get_property ("text")).length ())
{
audio_ = new Audio_text (Audio_text::LYRIC,
return;
SCM grouping = get_property ("beatGrouping");
- if (is_pair (grouping))
+ if (ly_c_pair_p (grouping))
{
Moment *measpos = unsmob_moment (get_property ("measurePosition"));
Rational mp = measpos->main_part_;
Rational bl = beatlen->main_part_;
Rational where (0);
- for (SCM s = grouping; is_pair (s);
+ for (SCM s = grouping; ly_c_pair_p (s);
where += Rational (ly_scm2int (ly_car (s))) * bl,
s = ly_cdr (s)
)
= ly_scm2int (get_property ("currentBarNumber"));
}
- bar_seen_ = is_string (get_property ("whichBar"));
+ bar_seen_ = ly_c_string_p (get_property ("whichBar"));
}
void
}
Stencil mol;
- for (SCM s = mols; is_pair (s); s = ly_cdr (s))
+ for (SCM s = mols; ly_c_pair_p (s); s = ly_cdr (s))
{
mol.add_at_edge (X_AXIS, LEFT, *unsmob_stencil (ly_car (s)), inner_padding, 0);
}
Music_output_def *id = unsmob_music_output_def (output_def);
SCM al = id->translator_tab_->to_alist ();
SCM l = SCM_EOL;
- for (SCM s = al ; is_pair (s); s = ly_cdr (s))
+ for (SCM s = al ; ly_c_pair_p (s); s = ly_cdr (s))
{
Context_def * td = unsmob_context_def (ly_cdar (s));
l = scm_cons (scm_cons (ly_caar (s), td->to_alist ()), l);
void
transpose_music_list (SCM l, Pitch rq)
{
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
unsmob_music (ly_car (s))->transpose (rq);
}
Moment cumulative;
Moment last_len;
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
Moment l = unsmob_music (ly_car (s))->get_length ();
if (last_len.grace_part_ && l.main_part_)
Music_sequence::maximum_length (SCM l)
{
Moment dur = 0;
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
Music * m = unsmob_music (ly_car (s));
Moment l = m->get_length ();
int count=0;
Pitch last = p;
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
if (Music *m = unsmob_music (ly_car (s)))
{
void
compress_music_list (SCM l, Moment m)
{
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
unsmob_music (ly_car (s))->compress (m);
}
{
Moment m;
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
m = m <? unsmob_music (ly_car (s))->start_mom ();
}
{
Moment m;
- for (SCM s = l; is_pair (s); s = ly_cdr (s))
+ for (SCM s = l; ly_c_pair_p (s); s = ly_cdr (s))
{
Music * mus = unsmob_music (ly_car (s));
Moment l = mus->get_length ();
print_alist (SCM a, SCM port)
{
/* SCM_EOL -> catch malformed lists. */
- for (SCM s = a; is_pair (s); s = ly_cdr (s))
+ for (SCM s = a; ly_c_pair_p (s); s = ly_cdr (s))
{
scm_display (ly_caar (s), port);
scm_puts (" = ", port);
Music* m = unsmob_music (s);
SCM nm = m->get_property ("name");
- if (is_symbol (nm) || is_string (nm))
+ if (is_symbol (nm) || ly_c_string_p (nm))
scm_display (nm, p);
else
scm_puts (classname (m),p);
"for creating music objects. "
)
{
- SCM_ASSERT_TYPE (is_string (type), type, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (type), type, SCM_ARG1, __FUNCTION__, "string");
SCM s = make_music (ly_scm2string (type))->self_scm ();
unsmob_music (s)->immutable_property_alist_ = props;
scm_gc_unprotect_object (s);
"of music objects.")
{
if (scm_list_p (lst) == SCM_BOOL_T)
- while (is_pair (lst))
+ while (ly_c_pair_p (lst))
{
if (!unsmob_music (ly_car (lst)))
return SCM_BOOL_F;
copy = unsmob_music (m)->clone ()->self_scm ();
scm_gc_unprotect_object (copy);
}
- else if (is_pair (m))
+ else if (ly_c_pair_p (m))
copy = scm_cons (ly_deep_mus_copy (ly_car (m)),
ly_deep_mus_copy (ly_cdr (m)));
return copy;
{
ly_reexport_module (scm_current_module ());
scm_set_current_module (module);
- for (SCM s = scopes_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = scopes_; ly_c_pair_p (s); s = ly_cdr (s))
{
/* UGH. how to do this more neatly? */
SCM expr
My_lily_lexer::lookup_identifier (String s)
{
SCM sym = ly_symbol2scm (s.to_str0());
- for (SCM s = scopes_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = scopes_; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM var = ly_module_lookup (ly_car (s), sym);
if (var != SCM_BOOL_F)
void
My_lily_lexer::set_identifier (SCM name, SCM s)
{
- assert (is_string (name));
+ assert (ly_c_string_p (name));
if (lookup_keyword (ly_scm2string (name)) >= 0)
{
"Parse a single @code{.ly} file. If this fails, then throw @code{ly-file-failed} key. "
)
{
- SCM_ASSERT_TYPE (is_string (name), name, SCM_ARG1, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE (ly_c_string_p (name), name, SCM_ARG1, __FUNCTION__, "string");
char const *file = SCM_STRING_CHARS(name);
String infile (file);
SCM arts = note_ev->get_property ("articulations");
- for (SCM s = arts; is_pair (s); s = ly_cdr (s))
+ for (SCM s = arts; ly_c_pair_p (s); s = ly_cdr (s))
{
Music * m = unsmob_music (ly_car (s));
sc->set_property ("direction-source", stem_->self_scm ());
SCM follow = scm_assoc (ly_symbol2scm ("follow-into-staff"), articulations_[i].description_);
- if (is_pair (follow) && to_boolean (ly_cdr (follow)))
+ if (ly_c_pair_p (follow) && to_boolean (ly_cdr (follow)))
{
sc->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
sc->set_property ("staff-padding" , SCM_EOL);
{
SCM voice_name = get_music ()->get_property ("associated-context");
- if (is_string (voice_name))
+ if (ly_c_string_p (voice_name))
{
Context *t = get_outlet ();
while (t && t->get_parent_context ())
while (flip (&d) != UP);
Link_array<Grob> done;
- for (; is_pair (hand); hand =ly_cdr (hand))
+ for (; ly_c_pair_p (hand); hand =ly_cdr (hand))
{
Grob * s = unsmob_grob (ly_caar (hand));
Real amount = ly_scm2double (ly_cdar (hand));
s->translate_axis (amount *wid, X_AXIS);
done.push (s);
}
- for (; is_pair (autos); autos =ly_cdr (autos))
+ for (; ly_c_pair_p (autos); autos =ly_cdr (autos))
{
Grob * s = unsmob_grob (ly_caar (autos));
Real amount = ly_scm2double (ly_cdar (autos));
Drul_array<Link_array<Grob> > clash_groups;
SCM s = me->get_property ("elements");
- for (; is_pair (s); s = ly_cdr (s))
+ for (; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM car = ly_car (s);
SCM tups = SCM_EOL;
SCM s = me->get_property ("elements");
- for (; is_pair (s); s = ly_cdr (s))
+ for (; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * se = unsmob_grob (ly_car (s));
iv.set_empty ();
SCM h = me->get_property ("note-heads");
- for (; is_pair (h); h = ly_cdr (h))
+ for (; ly_c_pair_p (h); h = ly_cdr (h))
{
Grob *se = unsmob_grob (ly_car (h));
Grob *stem = unsmob_grob (me->get_property ("stem"));
if (stem && Stem::has_interface (stem))
return Stem::get_direction (stem);
- else if (is_pair (me->get_property ("note-heads")))
+ else if (ly_c_pair_p (me->get_property ("note-heads")))
return (Direction)sign (head_positions_interval (me).center ());
programming_error ("Note column without heads and stem!");
bool both = false;
if (Rest::has_interface (h))
{
- if (is_pair (me->get_property ("note-heads")))
+ if (ly_c_pair_p (me->get_property ("note-heads")))
both = true;
else
me->set_property ("rest", h->self_scm ());
{
SCM heads = me->get_property ("note-heads");
Grob * acc = 0;
- for (;is_pair (heads); heads =ly_cdr (heads))
+ for (;ly_c_pair_p (heads); heads =ly_cdr (heads))
{
Grob * h = unsmob_grob (ly_car (heads));
acc = h ? unsmob_grob (h->get_property ("accidental-grob")) : 0;
return 0.0;
SCM result = scm_call_2 (v, me->self_scm (), scm_int2num (a));
- if (!is_pair (result))
+ if (!ly_c_pair_p (result))
return 0.0;
result = (a == X_AXIS) ? ly_car (result) : ly_cdr (result);
Interval left_head_wid;
do
{
- for (SCM s = props[d]; is_pair (s); s = ly_cdr (s))
+ for (SCM s = props[d]; ly_c_pair_p (s); s = ly_cdr (s))
{
Item * it= dynamic_cast<Item*> (unsmob_grob (ly_car (s)));
Item *mincol = 0;
int min_rank = INT_MAX;
bool prune = false;
- for (SCM s = right ; is_pair (s) ; s = ly_cdr (s))
+ for (SCM s = right ; ly_c_pair_p (s) ; s = ly_cdr (s))
{
Item * ri = unsmob_item (ly_car (s));
{
// I'm a lazy bum. We could do this in-place.
SCM newright = SCM_EOL;
- for (SCM s = right ; is_pair (s) ; s =ly_cdr (s))
+ for (SCM s = right ; ly_c_pair_p (s) ; s =ly_cdr (s))
{
if (unsmob_item (ly_car (s))->get_column () == mincol)
newright = scm_cons (ly_car (s), newright);
do
{
- for (SCM s = props[d]; is_pair (s); s = ly_cdr (s))
+ for (SCM s = props[d]; ly_c_pair_p (s); s = ly_cdr (s))
{
Item * it= dynamic_cast<Item*> (unsmob_grob (ly_car (s)));
Interval ext;
if (Note_column::has_interface (b))
{
- for (SCM s = b->get_property ("note-heads"); is_pair (s); s =ly_cdr (s))
+ for (SCM s = b->get_property ("note-heads"); ly_c_pair_p (s); s =ly_cdr (s))
ext.unite (unsmob_grob (ly_car (s))->extent (common, X_AXIS));
}
{
finished_= span_;
span_ = 0;
- if (is_string (ott))
+ if (ly_c_string_p (ott))
{
span_ = make_spanner ("OttavaBracket");
span_->set_property ("text", ott);
bool
Paper_column::is_used (Grob*me)
{
- return is_pair (me->get_property ("elements")) || Item::is_breakable (me)
- || is_pair (me->get_property ("bounded-by-me"))
+ return ly_c_pair_p (me->get_property ("elements")) || Item::is_breakable (me)
+ || ly_c_pair_p (me->get_property ("bounded-by-me"))
;
}
SCM c = me->get_property ("bounded-by-me");
SCM *ptrptr = &c;
- while (is_pair (*ptrptr))
+ while (ly_c_pair_p (*ptrptr))
{
Grob * g = unsmob_grob (ly_car (*ptrptr));
if (sizes != SCM_BOOL_F)
{
SCM met = scm_assoc (scm_make_real (m), sizes);
- if (is_pair (met))
+ if (ly_c_pair_p (met))
return unsmob_metrics (ly_cdr (met));
}
else
Virtual_font (Scaled (Font1), Scaled (Font2)) */
SCM lst = SCM_EOL;
SCM *t = &lst;
- for (SCM s = vf->get_font_list (); is_pair (s); s = ly_cdr (s))
+ for (SCM s = vf->get_font_list (); ly_c_pair_p (s); s = ly_cdr (s))
{
Font_metric *scaled = find_scaled_font (unsmob_metrics (ly_car (s)),
m, input_enc_name);
SCM func = ly_scheme_function ("hash-table->alist");
SCM l = SCM_EOL;
- for (SCM s = scm_call_1 (func, scaled_fonts_); is_pair (s); s = ly_cdr (s))
+ for (SCM s = scm_call_1 (func, scaled_fonts_); ly_c_pair_p (s); s = ly_cdr (s))
{
SCM entry = ly_car (s);
- for (SCM t = ly_cdr (entry); is_pair (t); t = ly_cdr (t))
+ for (SCM t = ly_cdr (entry); ly_c_pair_p (t); t = ly_cdr (t))
{
Font_metric *fm= unsmob_metrics (ly_cdar (t));
ly_quote_scm (ly_offset2scm (*origin)),
ly_quote_scm (ly_offset2scm (dim))));
- for (SCM s = pl->stencils (); is_pair (s); s = ly_cdr (s))
+ for (SCM s = pl->stencils (); ly_c_pair_p (s); s = ly_cdr (s))
output_expr (unsmob_stencil (ly_car (s))->get_expr (), Offset (0, 0));
output_scheme (scm_list_2 (ly_symbol2scm ("stop-system"),
{
while (1)
{
- if (!is_pair (expr))
+ if (!ly_c_pair_p (expr))
return;
SCM head =ly_car (expr);
void
set_music_properties (Music *p, SCM a)
{
- for (SCM k = a; is_pair (k); k = ly_cdr (k))
+ for (SCM k = a; ly_c_pair_p (k); k = ly_cdr (k))
p->internal_set_property (ly_caar (k), ly_cdar (k));
}
ly_input_procedure_p (SCM x)
{
return is_procedure (x)
- || (is_pair (x) && is_procedure (ly_car (x)));
+ || (ly_c_pair_p (x) && is_procedure (ly_car (x)));
}
Music*
| context_def_spec_body GROBDESCRIPTIONS embedded_scm {
Context_def*td = unsmob_context_def ($$);
- for (SCM p = $3; is_pair (p); p = ly_cdr (p)) {
+ for (SCM p = $3; ly_c_pair_p (p); p = ly_cdr (p)) {
SCM tag = ly_caar (p);
/* TODO: should make new tag "grob-definition" ? */
guh.
*/
SCM check_funcs = ly_scheme_function ("toplevel-music-functions");
- for (; is_pair (check_funcs); check_funcs = ly_cdr (check_funcs))
+ for (; ly_c_pair_p (check_funcs); check_funcs = ly_cdr (check_funcs))
m = scm_call_1 (ly_car (check_funcs), m);
$$->music_ = m;
SCM s = $$;
SCM c = scm_cons ($2->self_scm (), SCM_EOL);
scm_gc_unprotect_object ($2->self_scm ()); /* UGH */
- if (is_pair (ly_cdr (s)))
+ if (ly_c_pair_p (ly_cdr (s)))
scm_set_cdr_x (ly_cdr (s), c); /* append */
else
scm_set_car_x (s, c); /* set first cons */
{
Music *beg = $4;
int times = $3;
- SCM alts = is_pair ($5) ? ly_car ($5) : SCM_EOL;
+ SCM alts = ly_c_pair_p ($5) ? ly_car ($5) : SCM_EOL;
if (times < scm_ilength (alts)) {
unsmob_music (ly_car (alts))
->origin ()->warning (
SCM es = $1->get_property ("elements");
SCM postevs = scm_reverse_x ($3, SCM_EOL);
- for (SCM s = es; is_pair (s); s = ly_cdr (s))
+ for (SCM s = es; ly_c_pair_p (s); s = ly_cdr (s))
unsmob_music (ly_car (s))->set_property ("duration", dur);
es = ly_append2 (es, postevs);
if ($2 % 2 || $3 % 2)
n->set_property ("force-accidental", SCM_BOOL_T);
- if (is_pair ($4)) {
+ if (ly_c_pair_p ($4)) {
SCM arts = scm_reverse_x ($4, SCM_EOL);
n->set_property ("articulations", arts);
}
n->set_property ("drum-type", $1);
n->set_spot (THIS->here_input ());
- if (is_pair ($2)) {
+ if (ly_c_pair_p ($2)) {
SCM arts = scm_reverse_x ($2, SCM_EOL);
n->set_property ("articulations", arts);
}
| script_abbreviation {
SCM s = THIS->lexer_->lookup_identifier ("dash" + ly_scm2string ($1));
Music *a = MY_MAKE_MUSIC ("ArticulationEvent");
- if (is_string (s))
+ if (ly_c_string_p (s))
a->set_property ("articulation-type", s);
else THIS->parser_error (_ ("Expecting string as script definition"));
$$ = a;
Music *m = unsmob_music ($1);
Input i = THIS->pop_spot ();
m->set_spot (i);
- for (SCM s = m->get_property ("elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = m->get_property ("elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
unsmob_music (ly_car (s))->set_property ("duration", $2);
}
int
My_lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
{
- if (is_string (sid)) {
+ if (ly_c_string_p (sid)) {
*destination = sid;
return STRING_IDENTIFIER;
} else if (is_number (sid)) {
is_symbol (type) ? type : scm_string_to_symbol (type));
csm->set_property ("property-operations", ops);
- if (is_string (id))
+ if (ly_c_string_p (id))
csm->set_property ("context-id", id);
return csm;
}
Moment now = get_outlet ()->now_mom ();
Moment *splitm = 0;
- for (; is_pair (split_list_); split_list_ = ly_cdr (split_list_))
+ for (; ly_c_pair_p (split_list_); split_list_ = ly_cdr (split_list_))
{
splitm = unsmob_moment (ly_caar (split_list_));
if (splitm && *splitm + start_moment_ > now)
{
Audio_element_info info = announce_infos_[j];
- for (SCM p = get_simple_trans_list (); is_pair (p); p = ly_cdr (p))
+ for (SCM p = get_simple_trans_list (); ly_c_pair_p (p); p = ly_cdr (p))
{
Translator * t = unsmob_translator (ly_car (p));
Performer * eng = dynamic_cast<Performer*> (t);
void
performer_each (SCM list, Performer_method method)
{
- for (SCM p = list; is_pair (p); p = ly_cdr (p))
+ for (SCM p = list; ly_c_pair_p (p); p = ly_cdr (p))
{
Performer * e = dynamic_cast<Performer*>(unsmob_translator (ly_car (p)));
if (e)
}
}
- if (is_string (s))
+ if (ly_c_string_p (s))
{
String propname = String (p->name_) + "Pedal";
event_idx_++;
}
- if (is_pair (entry))
+ if (ly_c_pair_p (entry))
{
Pitch * quote_pitch = unsmob_pitch (ly_cdar (entry));
Pitch * me_pitch = unsmob_pitch (get_outlet ()->get_property ("instrumentTransposition"));
- for (SCM s = ly_cdr (entry); is_pair (s); s = ly_cdr (s))
+ for (SCM s = ly_cdr (entry); ly_c_pair_p (s); s = ly_cdr (s))
{
SCM ev_acc = ly_car (s);
void
Recording_group_engraver::start ()
{
- if (!is_pair (accumulator_))
+ if (!ly_c_pair_p (accumulator_))
accumulator_ = scm_cons (SCM_EOL, SCM_EOL);
- if (!is_pair (ly_car (accumulator_)))
+ if (!ly_c_pair_p (ly_car (accumulator_)))
{
/*
Need to store transposition for every moment; transposition changes during pieces.
bool start = false;
bool end = false;
bool volta_found = false;
- while (is_pair (cs))
+ while (ly_c_pair_p (cs))
{
SCM command = ly_car (cs);
if (command == ly_symbol2scm ("start-repeat"))
start = true;
else if (command == ly_symbol2scm ("end-repeat"))
end = true;
- else if (is_pair (command) && ly_car (command) == ly_symbol2scm ("volta"))
+ else if (ly_c_pair_p (command) && ly_car (command) == ly_symbol2scm ("volta"))
volta_found = true;
cs = ly_cdr (cs);
}
*/
SCM wb = get_property ("whichBar");
SCM db = get_property ("defaultBarType");
- if (!is_string (wb) || is_equal (db, wb))
+ if (!ly_c_string_p (wb) || is_equal (db, wb))
{
- if (s != "" || (volta_found && !is_string (wb)))
+ if (s != "" || (volta_found && !ly_c_string_p (wb)))
{
get_parent_context ()->set_property ("whichBar", scm_makfrom0str (s.to_str0 ()));
}
{
lily_1_8_compatibility_used = true;
- for (SCM s = alternatives (); is_pair (s); s = ly_cdr (s))
+ for (SCM s = alternatives (); ly_c_pair_p (s); s = ly_cdr (s))
unsmob_music (ly_car (s))->to_relative_octave (p);
}
int done =0;
SCM p = alternatives ();
- while (is_pair (p) && done < repeat_count ())
+ while (ly_c_pair_p (p) && done < repeat_count ())
{
m = m + unsmob_music (ly_car (p))->get_length ();
done ++;
Moment m;
SCM p = alternatives ();
- while (is_pair (p))
+ while (ly_c_pair_p (p))
{
m = m + unsmob_music (ly_car (p))->get_length ();
p = ly_cdr (p);
Link_array<Grob> rests;
Link_array<Grob> notes;
- for (SCM s = elts; is_pair (s); s = ly_cdr (s))
+ for (SCM s = elts; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * e = unsmob_grob (ly_car (s));
if (unsmob_grob (e->get_property ("rest")))
{
int k = 0;
for (int i = SCM_VECTOR_LENGTH (src); i--;)
- for (SCM s = scm_vector_ref (src, SCM_MAKINUM (i)); is_pair (s); s = ly_cdr (s))
+ for (SCM s = scm_vector_ref (src, SCM_MAKINUM (i)); ly_c_pair_p (s); s = ly_cdr (s))
{
scm_hashq_set_x (dest, ly_caar (s), ly_cdar (s));
k++;
Scheme_hash_table::try_retrieve (SCM k, SCM *v)
{
SCM handle = scm_hashq_get_handle (hash_tab_, k);
- if (is_pair (handle))
+ if (ly_c_pair_p (handle))
{
*v = ly_cdr (handle);
return true;
bool
Scheme_hash_table::contains (SCM k) const
{
- return is_pair (scm_hashq_get_handle (hash_tab_, k));
+ return ly_c_pair_p (scm_hashq_get_handle (hash_tab_, k));
}
void
{
SCM l = SCM_EOL;
for (int i = SCM_VECTOR_LENGTH (hash_tab_); i--;)
- for (SCM s = scm_vector_ref (hash_tab_, scm_int2num (i)); is_pair (s); s = ly_cdr (s))
+ for (SCM s = scm_vector_ref (hash_tab_, scm_int2num (i)); ly_c_pair_p (s); s = ly_cdr (s))
{
l = scm_acons (ly_caar (s), ly_cdar (s), l);
}
{
Global_context *g = dynamic_cast<Global_context*> (unsmob_context (context));
SCM_ASSERT_TYPE (g, context, SCM_ARG1, __FUNCTION__, "Global context");
- SCM_ASSERT_TYPE (is_string (outname), outname, SCM_ARG2, __FUNCTION__, "output filename");
+ SCM_ASSERT_TYPE (ly_c_string_p (outname), outname, SCM_ARG2, __FUNCTION__, "output filename");
Music_output *output = g->get_output ();
progress_indication ("\n");
Drul_array<SCM> scripts (SCM_EOL, SCM_EOL);
Link_array<Grob> staff_sided;
- for (SCM s = me->get_property ("scripts"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("scripts"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *sc = unsmob_grob (ly_car (s));
ss = scm_stable_sort_x (ss, grob_script_priority_less_proc);
Grob * last = 0;
- for (SCM s = ss; is_pair (s); s = ly_cdr (s))
+ for (SCM s = ss; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *g = unsmob_grob (ly_car (s));
if (last)
if (g->internal_get_property (sym) == SCM_EOL)
{
SCM entry = scm_assoc (sym,alist);
- if (is_pair (entry))
+ if (ly_c_pair_p (entry))
{
g->internal_set_property (sym, ly_cdr (entry));
}
int prio =0;
SCM sprio = scm_assoc (ly_symbol2scm ("script-priority"), art);
- if (is_pair (sprio))
+ if (ly_c_pair_p (sprio))
prio = ly_scm2int (ly_cdr (sprio));
Grob * sc = scripts_[i].script_;
SCM follow = scm_assoc (ly_symbol2scm ("follow-into-staff"), scripts_[i].description_);
- if (is_pair (follow) && to_boolean (ly_cdr (follow)))
+ if (ly_c_pair_p (follow) && to_boolean (ly_cdr (follow)))
{
sc->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
sc->set_property ("staff-padding", SCM_EOL);
Script_interface::get_stencil (Grob * me, Direction d)
{
SCM s = me->get_property ("script-stencil");
- assert (is_pair (s));
+ assert (ly_c_pair_p (s));
SCM key = ly_car (s);
if (key == ly_symbol2scm ("feta"))
{
SCM name_entry = ly_cdr (s);
- SCM str = (is_pair (name_entry)) ? index_get_cell (name_entry, d) : name_entry;
+ SCM str = (ly_c_pair_p (name_entry)) ? index_get_cell (name_entry, d) : name_entry;
return Font_interface::get_default_font (me)->find_by_name ("scripts-" +
ly_scm2string (str));
}
return;
- for (; is_pair (next); next = ly_cdr (next))
+ for (; ly_c_pair_p (next); next = ly_cdr (next))
{
Item *l = dynamic_cast<Item*> (unsmob_grob (ly_car ( next)));
Item *lb = l->find_prebroken_piece (RIGHT);
*/
Real padding = robust_scm2double (me->get_property ("padding"), 0.1);
- for (SCM s = me->get_property ("elements"); is_pair (s) && is_pair (ly_cdr (s)); s = ly_cdr (s))
+ for (SCM s = me->get_property ("elements"); ly_c_pair_p (s) && ly_c_pair_p (ly_cdr (s)); s = ly_cdr (s))
{
/*
Order of elements is reversed!
Paper_column * pc = item->get_column ();
- for (SCM s = me->get_property ("conditional-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("conditional-elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
SCM elt = ly_car (s);
if (!unsmob_grob (elt))
Paper_column * pc = item->get_column ();
Interval w;
- for (SCM s = me->get_property ("elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
SCM elt = ly_car (s);
if (!unsmob_grob (elt))
last_ext->set_empty ();
Grob *last_grob = 0;
for (SCM s = separation_item->get_property ("elements");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * break_item = unsmob_grob (ly_car (s));
Invariant for the data structure.
- if (is_pair (cursor_))
+ if (ly_c_pair_p (cursor_))
iter_->music_ == unsmob_music (ly_car (cursor_))
else
iter_ == 0;
Grace_fixup *head = 0;
Grace_fixup **tail = &head;
- for (; is_pair (cursor); cursor = ly_cdr (cursor))
+ for (; ly_c_pair_p (cursor); cursor = ly_cdr (cursor))
{
Music *mus = unsmob_music (ly_car (cursor));
Moment s = mus->start_mom ();
cursor_ = get_music_list ();
iter_ = 0;
- if (is_pair (cursor_))
+ if (ly_c_pair_p (cursor_))
{
Music *m = unsmob_music (ly_car (cursor_));
iter_ = unsmob_iterator (get_iterator (m));
cursor_ = ly_cdr (cursor_);
iter_->quit ();
- if (is_pair (cursor_))
+ if (ly_c_pair_p (cursor_))
iter_ = unsmob_iterator (get_iterator (unsmob_music (ly_car (cursor_))));
else
iter_ = 0;
Link_array<Grob> cols (icols);
for (int i = cols.size (); i--;)
- if (is_pair (cols[i]->get_property ("between-cols")))
+ if (ly_c_pair_p (cols[i]->get_property ("between-cols")))
{
loose_cols_.push (cols[i]);
cols.del (i);
Spring_smob *spring = 0;
for (SCM s = cols[i]->get_property ("ideal-distances");
- !spring && is_pair (s);
+ !spring && ly_c_pair_p (s);
s = ly_cdr (s))
{
Spring_smob *sp = unsmob_spring (ly_car (s));
for (int i=0; i < cols.size () - 1; i++)
{
for (SCM s = Spaceable_grob::get_minimum_distances (cols[i]);
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * other = unsmob_grob (ly_caar (s));
int oi = cols.find_index (other);
void
Simultaneous_music_iterator::derived_substitute (Context *f,Context *t)
{
- for (SCM s = children_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = children_list_; ly_c_pair_p (s); s = ly_cdr (s))
unsmob_iterator (ly_car (s))-> substitute_outlet (f,t);
}
children_list_ = SCM_EOL;
SCM * tail = &children_list_;
- for (; is_pair (i); i = ly_cdr (i), j++)
+ for (; ly_c_pair_p (i); i = ly_cdr (i), j++)
{
Music *mus = unsmob_music (ly_car (i));
Simultaneous_music_iterator::process (Moment until)
{
SCM *proc = &children_list_;
- while (is_pair (*proc))
+ while (ly_c_pair_p (*proc))
{
Music_iterator * i = unsmob_iterator (ly_car (*proc));
if (i->run_always ()
Moment next;
next.set_infinite (1);
- for (SCM s = children_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = children_list_; ly_c_pair_p (s); s = ly_cdr (s))
{
Music_iterator * it = unsmob_iterator (ly_car (s));
next = next <? it->pending_moment ();
Simultaneous_music_iterator::ok () const
{
bool run_always_ok = false;
- for (SCM s = children_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = children_list_; ly_c_pair_p (s); s = ly_cdr (s))
{
Music_iterator * it = unsmob_iterator (ly_car (s));
if (!it->run_always ())
bool
Simultaneous_music_iterator::run_always () const
{
- for (SCM s = children_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = children_list_; ly_c_pair_p (s); s = ly_cdr (s))
{
Music_iterator * it = unsmob_iterator (ly_car (s));
if (it->run_always ())
Simultaneous_music_iterator::try_music_in_children (Music *m) const
{
Music_iterator * b=0;
- for (SCM s = children_list_; !b && is_pair (s); s = ly_cdr (s))
+ for (SCM s = children_list_; !b && ly_c_pair_p (s); s = ly_cdr (s))
b =unsmob_iterator (ly_car (s))->try_music (m);
return b;
}
void
Simultaneous_music_iterator::do_quit ()
{
- for (SCM s = children_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = children_list_; ly_c_pair_p (s); s = ly_cdr (s))
unsmob_iterator (ly_car (s))->quit ();
}
return SCM_UNSPECIFIED;
}
set_extremities (me);
- if (!is_pair (me->get_property ("control-points")))
+ if (!ly_c_pair_p (me->get_property ("control-points")))
set_control_points (me);
return SCM_UNSPECIFIED;
}
SCM att = me->get_property ("attachment");
/*
*/
- if (!is_pair (att))
+ if (!ly_c_pair_p (att))
{
programming_error ("attachment is not a cons?!");
att = scm_cons (SCM_EOL, SCM_EOL);
{
SCM cols = me->get_property ("note-columns");
- if (!is_pair (cols))
+ if (!ly_c_pair_p (cols))
{
programming_error ("No note-columns in slur?");
me->suicide ();
Grob **common)
{
SCM s = me->get_property ("attachment");
- if (!is_pair (s) || !is_symbol (index_get_cell (s, dir)))
+ if (!ly_c_pair_p (s) || !is_symbol (index_get_cell (s, dir)))
{
s = set_extremities (me);
}
bb.minimise_enclosed_area (sb, details);
SCM sbf = scm_assq (ly_symbol2scm ("force-blowfit"), details);
Real bff = 1.0;
- if (is_pair (sbf) && is_number (ly_cdr (sbf)))
+ if (ly_c_pair_p (sbf) && is_number (ly_cdr (sbf)))
bff = ly_scm2double (ly_cdr (sbf));
bb.curve_.control_[1][Y_AXIS] *= bff;
int i = 0;
SCM attach = me->get_property ("attachment");
- if (!is_pair (attach))
+ if (!ly_c_pair_p (attach))
attach = set_extremities (me);
|| ! is_symbol (index_get_cell (attach, RIGHT)))
set_extremities (me);
- if (!is_pair (me->get_property ("control-points")))
+ if (!ly_c_pair_p (me->get_property ("control-points")))
set_control_points (me);
// set_control_points may suicide
SCM mins = get_minimum_distances (me);
SCM newdist = scm_make_real (d);
- for (SCM s = mins; is_pair (s); s = ly_cdr (s))
+ for (SCM s = mins; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM dist = ly_car (s);
if (ly_car (dist) == p->self_scm ())
#ifndef NDEBUG
SCM mins = me->get_property ("ideal-distances");
- for (SCM s = mins; is_pair (s); s = ly_cdr (s))
+ for (SCM s = mins; ly_c_pair_p (s); s = ly_cdr (s))
{
Spring_smob * sp = unsmob_spring(ly_car (s));
if (sp->other_ == p)
such a borderline case.)
*/
- if (!is_pair (lns) || !is_pair (rns))
+ if (!ly_c_pair_p (lns) || !ly_c_pair_p (rns))
return false;
Item * l_neighbor = dynamic_cast<Item*> (unsmob_grob (ly_car (lns)));
in any case, we don't want to move bar lines.
*/
- for (SCM e = c->get_property ("elements"); is_pair (e); e = ly_cdr (e))
+ for (SCM e = c->get_property ("elements"); ly_c_pair_p (e); e = ly_cdr (e))
{
Grob * g = unsmob_grob (ly_car (e));
if (g && Break_align_interface::has_interface (g))
{
- for (SCM s = g->get_property ("elements"); is_pair (s);
+ for (SCM s = g->get_property ("elements"); ly_c_pair_p (s);
s = ly_cdr (s))
{
Grob *h = unsmob_grob (ly_car (s));
if (loose_column (cols->elem (i-1), c, cols->elem (i+1)))
{
SCM lns = c->get_property ("left-neighbors");
- lns = is_pair (lns) ? ly_car (lns) : SCM_BOOL_F;
+ lns = ly_c_pair_p (lns) ? ly_car (lns) : SCM_BOOL_F;
SCM rns = c->get_property ("right-neighbors");
- rns = is_pair (rns) ? ly_car (rns) : SCM_BOOL_F;
+ rns = ly_c_pair_p (rns) ? ly_car (rns) : SCM_BOOL_F;
/*
Either object can be non existent, if the score ends
Item *rc = dynamic_cast<Item*> (d == LEFT ? c : next_door[RIGHT]);
for (SCM s = lc->get_property ("spacing-wishes");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *sp = unsmob_grob (ly_car (s));
if (Note_spacing::left_column (sp) != lc
SCM wishes= cols[i]->get_property ("spacing-wishes");
- for (SCM s =wishes; is_pair (s); s = ly_cdr (s))
+ for (SCM s =wishes; ly_c_pair_p (s); s = ly_cdr (s))
{
Item * wish = dynamic_cast<Item*> (unsmob_grob (ly_car (s)));
*/
int maxrank = 0;
SCM left_neighs = rc->get_property ("left-neighbors");
- if (is_pair (left_neighs)
+ if (ly_c_pair_p (left_neighs)
&& unsmob_grob (ly_car (left_neighs)))
{
Item * it = dynamic_cast<Item*> (unsmob_grob (ly_car (left_neighs)));
}
}
- if (is_pair (right_neighbors))
+ if (ly_c_pair_p (right_neighbors))
{
cols[i]->set_property ("right-neighbors", right_neighbors);
}
sloppy with typnig left/right-neighbors should take list, but paper-column found instead.
*/
SCM ln = cols[i] ->get_property ("left-neighbors");
- if (!is_pair (ln) && i )
+ if (!ly_c_pair_p (ln) && i )
{
cols[i]->set_property ("left-neighbors", scm_cons (cols[i-1]->self_scm (), SCM_EOL));
}
SCM rn = cols[i] ->get_property ("right-neighbors");
- if (!is_pair (rn) && i < cols.size () - 1)
+ if (!ly_c_pair_p (rn) && i < cols.size () - 1)
{
cols[i]->set_property ("right-neighbors", scm_cons (cols[i + 1]->self_scm (), SCM_EOL));
}
happens after the current note (this is set in the grob
property SPACING-SEQUENCE.
*/
- for (SCM s = seq; is_pair (s); s = ly_cdr (s))
+ for (SCM s = seq; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * wish = unsmob_grob (ly_car (s));
if (dt == Moment (0,0))
{
for (SCM s = l->get_property ("spacing-wishes");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Item * spacing_grob = dynamic_cast<Item*> (unsmob_grob (ly_car (s)));
for (int i=0; i < arpeggios_.size (); i ++)
{
for (SCM s = arpeggios_[i]->get_property ("stems");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
Group_interface::add_thing (span_arpeggio_, ly_symbol2scm ("stems"), ly_car (s));
for (SCM s = arpeggios_[i]->get_property ("side-support-elements");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
Group_interface::add_thing (span_arpeggio_, ly_symbol2scm ("side-support-elements"), ly_car (s));
/*
/* compute common refpoint of elements */
Grob *refp = me;
- for (SCM elts = first_elt; is_pair (elts); elts = ly_cdr (elts))
+ for (SCM elts = first_elt; ly_c_pair_p (elts); elts = ly_cdr (elts))
{
SCM smobbed_staff_bar = ly_car (elts);
Grob *staff_bar = unsmob_grob (smobbed_staff_bar);
/* glyph may not be a string, when ME is killed by Hara Kiri in
between. */
- if (!is_string (glyph))
+ if (!ly_c_string_p (glyph))
return SCM_EOL;
String glyph_string = ly_scm2string (glyph);
Stencil span_bar_mol;
Interval prev_extent;
- for (SCM elts = first_elt; is_pair (elts); elts = ly_cdr (elts))
+ for (SCM elts = first_elt; ly_c_pair_p (elts); elts = ly_cdr (elts))
{
SCM smobbed_staff_bar = ly_car (elts);
Grob *staff_bar = unsmob_grob (smobbed_staff_bar);
/* TODO: filter all hara-kiried out of ELEMENS list, and then
optionally do suicide. Call this cleanage function from
center_on_spanned_callback () as well. */
- if (!is_pair (me->get_property ("elements")))
+ if (!ly_c_pair_p (me->get_property ("elements")))
{
me->suicide ();
}
{
SCM gl = me->get_property ("glyph");
- if (is_string (gl))
+ if (ly_c_string_p (gl))
return ;
for (SCM s = me->get_property ("elements");
- !is_string (gl) && is_pair (s); s = ly_cdr (s))
+ !ly_c_string_p (gl) && ly_c_pair_p (s); s = ly_cdr (s))
{
gl = unsmob_grob (ly_car (s))
->get_property ("glyph");
}
- if (!is_string (gl))
+ if (!ly_c_string_p (gl))
{
me->suicide ();
return;
// mustn't ask Score for instrument: it will return piano!
SCM minstr = get_property ("midiInstrument");
- if (!is_string (minstr)
+ if (!ly_c_string_p (minstr)
|| ly_scm2string (minstr) == instrument_string_)
return "";
{
SCM glyph = bar_grob->get_property ("glyph");
- String glyph_string = is_string (glyph) ? ly_scm2string (glyph) : "";
+ String glyph_string = ly_c_string_p (glyph) ? ly_scm2string (glyph) : "";
if (glyph_string.left_string (1) == "|" || glyph_string.left_string (1) == ".")
{
SCM sz = Bar_line::get_staff_bar_size (bar_grob->self_scm ());
Real max_corr =0.0;
for (SCM s = me->get_property ("right-items");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * g = unsmob_grob (ly_car (s));
max_corr = max_corr >? next_note_correction (me, g, bar_size);
for (SCM t = g->get_property ("elements");
- is_pair (t); t = ly_cdr (t))
+ ly_c_pair_p (t); t = ly_cdr (t))
max_corr = max_corr >? next_note_correction (me, unsmob_grob (ly_car (t)), bar_size);
}
Item * me_item = dynamic_cast<Item*> (me);
for (SCM s = me->get_property ("left-items");
- is_pair (s); s = ly_cdr (s))
+ ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * cand = unsmob_grob (ly_car (s));
if (cand && Separation_item::has_interface (cand))
if (me_item->break_status_dir () == CENTER)
{
SCM nndef = scm_sloppy_assq (ly_symbol2scm ("next-note"), alist);
- if (is_pair (nndef))
+ if (ly_c_pair_p (nndef))
space_def = nndef;
}
- if (!is_pair (space_def))
+ if (!ly_c_pair_p (space_def))
{
programming_error ("Unknown prefatory spacing. ");
return;
{
SCM stanza = get_property ("stanza");
- if (is_string (stanza) && stanza != last_stanza_)
+ if (ly_c_string_p (stanza) && stanza != last_stanza_)
{
last_stanza_ = stanza;
{
SCM pair = me->get_property ("beaming");
- if (!is_pair (pair))
+ if (!ly_c_pair_p (pair))
{
pair = scm_cons (SCM_EOL, SCM_EOL);
me->set_property ("beaming", pair);
Drul_array<Grob *> exthead;
exthead[LEFT] = exthead[RIGHT] =0;
- for (SCM s = me->get_property ("note-heads"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("note-heads"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * n = unsmob_grob (ly_car (s));
Stem::note_head_positions (Grob *me)
{
Array<int> ps ;
- for (SCM s = me->get_property ("note-heads"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("note-heads"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * n = unsmob_grob (ly_car (s));
int p = Staff_symbol_referencer::get_rounded_position (n);
else
{
s = me->get_property ("lengths");
- if (is_pair (s))
+ if (ly_c_pair_p (s))
{
length = 2* ly_scm2double (robust_list_ref (durlog -2, s));
}
if (dir * head_positions (me)[dir] >= 0)
{
SCM sshorten = me->get_property ("stem-shorten");
- SCM scm_shorten = is_pair (sshorten) ?
+ SCM scm_shorten = ly_c_pair_p (sshorten) ?
robust_list_ref ((duration_log (me) - 2) >? 0, sshorten): SCM_EOL;
Real shorten = 2* robust_scm2double (scm_shorten,0);
}
SCM stroke_style_scm = me->get_property ("stroke-style");
- if (is_string (stroke_style_scm))
+ if (ly_c_string_p (stroke_style_scm))
{
String stroke_style = ly_scm2string (stroke_style_scm);
if (!stroke_style.is_empty ())
{
/* Return cached info if available */
SCM scm_info = me->get_property ("stem-info");
- if (!is_pair (scm_info))
+ if (!ly_c_pair_p (scm_info))
{
calc_stem_info (me);
scm_info = me->get_property ("stem-info");
Stencil mol;
SCM glyph = e->get_property ("text");
- if (!is_string (glyph))
+ if (!ly_c_string_p (glyph))
return mol.smobbed_copy ();
String text = ly_scm2string (glyph);
/*
UGH UGH
*/
- if (is_string (gl) && is_equal (gl, scm_makfrom0str ("brace"))
- && is_string (my_gl) && is_equal (my_gl, scm_makfrom0str ("bracket")))
+ if (ly_c_string_p (gl) && is_equal (gl, scm_makfrom0str ("brace"))
+ && ly_c_string_p (my_gl) && is_equal (my_gl, scm_makfrom0str ("bracket")))
inf.grob_->translate_axis (-0.8, X_AXIS); // ugh
- else if (is_string (gl) && is_equal (gl, scm_makfrom0str ("bracket"))
- && is_string (my_gl) && is_equal (my_gl, scm_makfrom0str ("bracket")))
+ else if (ly_c_string_p (gl) && is_equal (gl, scm_makfrom0str ("bracket"))
+ && ly_c_string_p (my_gl) && is_equal (my_gl, scm_makfrom0str ("bracket")))
{
inf.grob_->translate_axis ( -0.8, X_AXIS); // ugh
inf.grob_->set_property ("arch-height",
*/
SCM elts = me->get_property ("elements");
Grob *common = common_refpoint_of_list (elts, me, Y_AXIS);
- for (SCM s = elts; is_pair (s); s = ly_cdr (s))
+ for (SCM s = elts; ly_c_pair_p (s); s = ly_cdr (s))
{
Interval v = unsmob_grob (ly_car (s))->extent (common, Y_AXIS);
Grob * me = unsmob_grob (smob);
SCM s = me->get_property ("glyph");
- if (!is_string (s))
+ if (!ly_c_string_p (s))
return SCM_EOL;
SCM gsym = scm_string_to_symbol (s) ;
System::spanner_count () const
{
int k = 0;
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
if (dynamic_cast<Spanner*> (unsmob_grob (ly_car (s))))
k++;
return k;
static void
fixup_refpoints (SCM s)
{
- for (; is_pair (s); s = ly_cdr (s))
+ for (; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob::fixup_refpoint (ly_car (s));
}
SCM
System::get_lines ()
{
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *g = unsmob_grob (ly_car (s));
if (g->internal_has_interface (ly_symbol2scm ("only-prebreak-interface")))
{
Grob *se = broken_intos_[i];
SCM all = se->get_property ("all-elements");
- for (SCM s = all; is_pair (s); s = ly_cdr (s))
+ for (SCM s = all; ly_c_pair_p (s); s = ly_cdr (s))
fixup_refpoint (ly_car (s));
count += scm_ilength (all);
}
*/
fixup_refpoints (get_property ("all-elements"));
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
unsmob_grob (ly_car (s))->handle_broken_dependencies ();
handle_broken_dependencies ();
while (1)
{
SCM between = loose->get_property ("between-cols");
- if (!is_pair (between))
+ if (!ly_c_pair_p (between))
break;
Item *le = dynamic_cast<Item*> (unsmob_grob (ly_car (between)));
{
Grob *me = this;
SCM cs = me->get_property ("columns");
- Grob * prev = is_pair (cs) ? unsmob_grob (ly_car (cs)) : 0;
+ Grob * prev = ly_c_pair_p (cs) ? unsmob_grob (ly_car (cs)) : 0;
p->rank_ = prev ? Paper_column::get_rank (prev) + 1 : 0;
void
System::pre_processing ()
{
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
unsmob_grob (ly_car (s))->discretionary_processing ();
if (verbose_global_b)
progress_indication (_f ("Grob count %d", element_count ()));
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
unsmob_grob (ly_car (s))->handle_prebroken_dependencies ();
fixup_refpoints (get_property ("all-elements"));
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob* sc = unsmob_grob (ly_car (s));
sc->calculate_dependencies (PRECALCED, PRECALCING, ly_symbol2scm ("before-line-breaking-callback"));
}
progress_indication ("\n" + _ ("Calculating line breaks...") + " ");
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * e = unsmob_grob (ly_car (s));
SCM proc = e->get_property ("spacing-procedure");
void
System::post_processing ()
{
- for (SCM s = get_property ("all-elements"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = get_property ("all-elements"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *g = unsmob_grob (ly_car (s));
g->calculate_dependencies (POSTCALCED, POSTCALCING,
all = ly_list_qsort_uniq_x (all);
this->get_stencil ();
- for (SCM s = all; is_pair (s); s = ly_cdr (s))
+ for (SCM s = all; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *g = unsmob_grob (ly_car (s));
g->get_stencil ();
Real penalty = 0;
for (int i = LAYER_COUNT; i--;)
- for (SCM s = all; is_pair (s); s = ly_cdr (s))
+ for (SCM s = all; ly_c_pair_p (s); s = ly_cdr (s))
{
Grob *g = unsmob_grob (ly_car (s));
Stencil *stil = g->get_stencil ();
r = r->get_column ();
SCM s = get_property ("columns");
- while (is_pair (s) && ly_car (s) != r->self_scm ())
+ while (ly_c_pair_p (s) && ly_car (s) != r->self_scm ())
s = ly_cdr (s);
- if (is_pair (s))
+ if (ly_c_pair_p (s))
s = ly_cdr (s);
- while (is_pair (s) && ly_car (s) != l->self_scm ())
+ while (ly_c_pair_p (s) && ly_car (s) != l->self_scm ())
{
Paper_column*c = dynamic_cast<Paper_column*> (unsmob_grob (ly_car (s)));
if (Item::is_breakable (c) && !c->system_)
Music * tabstring_event=0;
for (SCM s =event->get_property ("articulations");
- !tabstring_event && is_pair (s); s = ly_cdr (s))
+ !tabstring_event && ly_c_pair_p (s); s = ly_cdr (s))
{
Music * art = unsmob_music (ly_car (s));
Paper_def *pap = unsmob_paper (paper);
SCM_ASSERT_TYPE(pap, paper, SCM_ARG1, __FUNCTION__, "Paper definition");
- SCM_ASSERT_TYPE(is_string (markup), markup, SCM_ARG3, __FUNCTION__, "string");
+ SCM_ASSERT_TYPE(ly_c_string_p (markup), markup, SCM_ARG3, __FUNCTION__, "string");
SCM_ASSERT_TYPE(encoding == SCM_EOL
|| is_symbol (encoding), encoding, SCM_ARG2, __FUNCTION__, "symbol");
SCM
Text_item::interpret_markup (SCM paper, SCM props, SCM markup)
{
- if (is_string (markup))
+ if (ly_c_string_p (markup))
return interpret_string (paper, props, SCM_EOL, markup);
- else if (is_pair (markup))
+ else if (ly_c_pair_p (markup))
{
SCM func = ly_car (markup);
SCM args = ly_cdr (markup);
Text_item::markup_p (SCM x)
{
return
- is_string (x) ||
- (is_pair (x)
+ ly_c_string_p (x) ||
+ (ly_c_pair_p (x)
&& SCM_BOOL_F != scm_object_property (ly_car (x), ly_symbol2scm ("markup-signature")));
}
SCM properties = Font_interface::text_font_alist_chain (me);
SCM edge_text = me->get_property ("edge-text");
Drul_array<Stencil> edge;
- if (is_pair (edge_text))
+ if (ly_c_pair_p (edge_text))
{
Direction d = LEFT;
do
{
SCM c = me->get_property ("head-pair");
- if (is_pair (c))
+ if (ly_c_pair_p (c))
return unsmob_grob (index_get_cell (c, d));
else
return 0;
Grob*me = unsmob_grob (smob);
SCM cp = me->get_property ("control-points");
- if (!is_pair (cp)) // list is more accurate
+ if (!ly_c_pair_p (cp)) // list is more accurate
{
cp = get_control_points (smob);
me->set_property ("control-points", cp);
}
- if (!is_pair (cp))
+ if (!ly_c_pair_p (cp))
return Stencil ().smobbed_copy ();
Real thick
SCM fr= get_property ("timeSignatureFraction");
if (!time_signature_
&& last_time_fraction_ != fr
- && is_pair (fr))
+ && ly_c_pair_p (fr))
{
int den = ly_scm2int (ly_cdr (fr));
if (den != (1 << intlog2 (den)))
Time_signature_performer::create_audio_elements ()
{
SCM fr = get_property ("timeSignatureFraction");
- if (is_pair (fr) && !is_equal (fr, prev_fraction_))
+ if (ly_c_pair_p (fr) && !is_equal (fr, prev_fraction_))
{
prev_fraction_ = fr;
int b = ly_scm2int (ly_car (fr));
SCM frac = me->get_property ("fraction");
int n = 4;
int d = 4;
- if (is_pair (frac))
+ if (ly_c_pair_p (frac))
{
n = ly_scm2int (ly_car (frac));
d = ly_scm2int (ly_cdr (frac));
Moment now = now_mom ();
/* Set the first bar of the score? */
- if (!is_string (which))
+ if (!ly_c_string_p (which))
which = (now.main_part_ || now.main_part_ == last_moment_.main_part_)
? SCM_EOL : scm_makfrom0str ("|");
SCM which = get_property ("whichBar");
/* Set the first bar of the score? */
- if (!is_string (which))
+ if (!ly_c_string_p (which))
which = SCM_EOL;
Moment mp = measure_position ();
->set_property ("measure-length", mlen.smobbed_copy ());
}
- if (!is_string (which) && to_boolean (automatic_bars))
+ if (!ly_c_string_p (which) && to_boolean (automatic_bars))
{
SCM always = get_property ("barAlways");
{
SCM l = global_translator_dict ? global_translator_dict->to_alist () : SCM_EOL;
- for (SCM s =l; is_pair (s); s = ly_cdr (s))
+ for (SCM s =l; ly_c_pair_p (s); s = ly_cdr (s))
{
scm_set_car_x (s, ly_cdar (s));
}
void
translator_each (SCM list, Translator_method method)
{
- for (SCM p = list; is_pair (p); p = ly_cdr (p))
+ for (SCM p = list; ly_c_pair_p (p); p = ly_cdr (p))
(unsmob_translator (ly_car (p))->*method) ();
}
SCM ack_ifs = scm_assoc (ly_symbol2scm ("events-accepted"),
tr->translator_description ());
ack_ifs = ly_cdr (ack_ifs);
- for (SCM s = ifaces; is_pair (s); s = ly_cdr (s))
+ for (SCM s = ifaces; ly_c_pair_p (s); s = ly_cdr (s))
if (scm_c_memq (ly_car (s), ack_ifs) != SCM_BOOL_F)
return true;
return false;
find_accept_translators (SCM gravlist, SCM ifaces)
{
SCM l = SCM_EOL;
- for (SCM s = gravlist; is_pair (s); s = ly_cdr (s))
+ for (SCM s = gravlist; ly_c_pair_p (s); s = ly_cdr (s))
{
Translator* tr = unsmob_translator (ly_car (s));
if (translator_accepts_any_of (tr, ifaces))
SCM name = scm_sloppy_assq (ly_symbol2scm ("name"),
m->get_property_alist (false));
- if (!is_pair (name))
+ if (!ly_c_pair_p (name))
return false;
name = ly_cdr (name);
scm_hashq_set_x (tab, name, accept_list);
}
- for (SCM p = accept_list; is_pair (p); p = ly_cdr (p))
+ for (SCM p = accept_list; ly_c_pair_p (p); p = ly_cdr (p))
{
Translator * t = unsmob_translator (ly_car (p));
if (t && t->try_music (m))
(tg->*ptr) ();
}
- for (SCM s = c->children_contexts () ; is_pair (s);
+ for (SCM s = c->children_contexts () ; ly_c_pair_p (s);
s =ly_cdr (s))
{
recurse_over_translators (unsmob_context (ly_car (s)), ptr, dir);
else
prev = trg->internal_get_property (prop);
- if (!is_pair (prev))
+ if (!ly_c_pair_p (prev))
{
programming_error ("Grob definition should be cons.");
return ;
SCM prev_alist = ly_car (prev);
- if (is_pair (prev_alist) || prev_alist == SCM_EOL)
+ if (ly_c_pair_p (prev_alist) || prev_alist == SCM_EOL)
{
bool ok = type_check_assignment (eltprop, val, ly_symbol2scm ("backend-type?"));
apply_property_operations (Context *tg, SCM pre_init_ops)
{
SCM correct_order = scm_reverse (pre_init_ops);
- for (SCM s = correct_order; is_pair (s); s = ly_cdr (s))
+ for (SCM s = correct_order; ly_c_pair_p (s); s = ly_cdr (s))
{
SCM entry = ly_car (s);
SCM type = ly_car (entry);
if (type == ly_symbol2scm ("push") || type == ly_symbol2scm ("poppush"))
{
SCM val = ly_cddr (entry);
- val = is_pair (val) ? ly_car (val) : SCM_UNDEFINED;
+ val = ly_c_pair_p (val) ? ly_car (val) : SCM_UNDEFINED;
execute_pushpop_property (tg, ly_car (entry), ly_cadr (entry), val);
}
SCM props = tg->internal_get_property (sym);
- if (!is_pair (props))
+ if (!ly_c_pair_p (props))
{
programming_error ("grob props not a pair?");
return SCM_EOL;
Paper_def *pap = me->get_paper ();
Stencil num;
- if (is_string (number) && number_visibility)
+ if (ly_c_string_p (number) && number_visibility)
{
SCM properties = Font_interface::text_font_alist_chain (me);
SCM snum = Text_item::interpret_markup (pap->self_scm (), properties, number);
Tuplet_bracket::get_default_dir (Grob*me)
{
Drul_array<int> dirs (0,0);
- for (SCM s = me->get_property ("note-columns"); is_pair (s); s = ly_cdr (s))
+ for (SCM s = me->get_property ("note-columns"); ly_c_pair_p (s); s = ly_cdr (s))
{
Grob * nc = unsmob_grob (ly_car (s));
Direction d = Note_column::dir (nc);
Context * where = get_outlet ()->where_defined (reps);
if (where
- && current_reps == SCM_EOL || is_pair (current_reps))
+ && current_reps == SCM_EOL || ly_c_pair_p (current_reps))
{
current_reps = scm_cons (what, current_reps);
where->internal_set_property (reps, current_reps);
SCM name_list = SCM_EOL;
SCM *name_tail = &name_list;
- for (SCM s = font_list; is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list; ly_c_pair_p (s); s = ly_cdr (s))
{
if (Font_metric *fm = unsmob_metrics (ly_car (s)))
{
Virtual_font_metric::count () const
{
int k = 0;
- for (SCM s = font_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list_; ly_c_pair_p (s); s = ly_cdr (s))
k += unsmob_metrics (ly_car (s))->count ();
return k;
}
Virtual_font_metric::find_by_name (String glyph) const
{
Stencil m;
- for (SCM s = font_list_; m.is_empty () && is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list_; m.is_empty () && ly_c_pair_p (s); s = ly_cdr (s))
{
m = unsmob_metrics (ly_car (s))->find_by_name (glyph);
}
Virtual_font_metric::get_indexed_wxwy (int code) const
{
int total = 0;
- for (SCM s = font_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list_; ly_c_pair_p (s); s = ly_cdr (s))
{
Font_metric *fm = unsmob_metrics (ly_car (s));
if (code < total + fm->count ())
Virtual_font_metric::get_indexed_char (int code) const
{
int total = 0;
- for (SCM s = font_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list_; ly_c_pair_p (s); s = ly_cdr (s))
{
Font_metric *fm = unsmob_metrics (ly_car (s));
if (code < total + fm->count ())
{
Stencil m;
int total = 0;
- for (SCM s = font_list_; m.is_empty () && is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list_; m.is_empty () && ly_c_pair_p (s); s = ly_cdr (s))
{
Font_metric *m =unsmob_metrics (ly_car (s));
int k = m->name_to_index (glyph);
Stencil m ;
int total = 0;
- for (SCM s = font_list_; is_pair (s); s = ly_cdr (s))
+ for (SCM s = font_list_; ly_c_pair_p (s); s = ly_cdr (s))
{
Font_metric *fm = unsmob_metrics (ly_car (s));
if (code < total + fm->count ())
SCM glyph = endbar->get_property ("glyph");
String str;
- if (is_string (glyph))
+ if (ly_c_string_p (glyph))
str = ly_scm2string (glyph);
else
return SCM_EOL;
volta engraver in score context or somesuch.
*/
- if (!is_pair (staffs))
+ if (!ly_c_pair_p (staffs))
{
programming_error ("Huh? Volta engraver can't find staffs?");
return false;
bool end = false;
start_string_ = SCM_EOL;
- while (is_pair (cs))
+ while (ly_c_pair_p (cs))
{
SCM c = ly_car (cs);
- if (is_pair (c)
+ if (ly_c_pair_p (c)
&& ly_car (c) == ly_symbol2scm ("volta")
- && is_pair (ly_cdr (c)))
+ && ly_c_pair_p (ly_cdr (c)))
{
if (ly_cadr (c) == SCM_BOOL_F)
end = true;
}
if (volta_span_ &&
- (is_string (start_string_) || is_pair (start_string_)))
+ (ly_c_string_p (start_string_) || ly_c_pair_p (start_string_)))
{
warning (_ ("Already have a volta spanner. Stopping that one prematurely."));
}
if (!volta_span_ &&
- (is_string (start_string_) || is_pair (start_string_)))
+ (ly_c_string_p (start_string_) || ly_c_pair_p (start_string_)))
{
started_mom_ = now_mom () ;