Merge branch 'fret-diagram-details'
[lilypond/csorensen.git] / lily / slur-score-parameters.cc
bloba399e4d9d037b5e439fb179102772e30f1307c4a
1 /*
2 slur-score-paramaters.cc -- implement Slur_score_parameters
4 source file of the GNU LilyPond music typesetter
6 (c) 2006--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
8 */
11 #include "slur-score-parameters.hh"
12 #include "grob.hh"
15 Real
16 get_detail (SCM alist, SCM sym)
18 SCM entry = scm_assq (sym, alist);
19 return robust_scm2double (scm_is_pair (entry)
20 ? scm_cdr (entry)
21 : SCM_EOL,
22 0.0);
25 void
26 Slur_score_parameters::fill (Grob *me)
28 SCM details = me->get_property ("details");
30 region_size_
31 = (int) get_detail (details, ly_symbol2scm ("region-size"));
32 head_encompass_penalty_
33 = get_detail (details, ly_symbol2scm ("head-encompass-penalty"));
34 stem_encompass_penalty_
35 = get_detail (details, ly_symbol2scm ("stem-encompass-penalty"));
36 closeness_factor_
37 = get_detail (details, ly_symbol2scm ("closeness-factor"));
38 edge_attraction_factor_
39 = get_detail (details, ly_symbol2scm ("edge-attraction-factor"));
40 same_slope_penalty_
41 = get_detail (details, ly_symbol2scm ("same-slope-penalty"));
42 steeper_slope_factor_
43 = get_detail (details, ly_symbol2scm ("steeper-slope-factor"));
44 non_horizontal_penalty_
45 = get_detail (details, ly_symbol2scm ("non-horizontal-penalty"));
46 max_slope_
47 = get_detail (details, ly_symbol2scm ("max-slope"));
48 max_slope_factor_
49 = get_detail (details, ly_symbol2scm ("max-slope-factor"));
50 free_head_distance_
51 = get_detail (details, ly_symbol2scm ("free-head-distance"));
52 absolute_closeness_measure_
53 = get_detail (details, ly_symbol2scm ("absolute-closeness-measure"));
54 extra_object_collision_penalty_
55 = get_detail (details, ly_symbol2scm ("extra-object-collision-penalty"));
56 accidental_collision_
57 = get_detail (details, ly_symbol2scm ("accidental-collision"));
58 extra_encompass_free_distance_
59 = get_detail (details, ly_symbol2scm ("extra-encompass-free-distance"));
60 extra_encompass_collision_distance_
61 = get_detail (details, ly_symbol2scm ("extra-encompass-collision-distance"));
62 head_slur_distance_factor_
63 = get_detail (details, ly_symbol2scm ("head-slur-distance-factor"));
64 head_slur_distance_max_ratio_
65 = get_detail (details, ly_symbol2scm ("head-slur-distance-max-ratio"));
66 free_slur_distance_
67 = get_detail (details, ly_symbol2scm ("free-slur-distance"));
68 edge_slope_exponent_
69 = get_detail (details, ly_symbol2scm ("edge-slope-exponent"));